dbList = getDaoDbRequest().query(preparedQuery);
+ if (dbList.size() != 1) {
+ log.error("deleteDbRequestbyMongoId query size: " + dbList.size());
+ } else {
+ //log.debug("Treatment findTreatmentById found: " + trList.get(0).log());
+ return delete(dbList.get(0));
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ return 0;
+ }
+
+ public void deleteAllDbRequests() {
+ try {
+ TableUtils.clearTable(connectionSource, DbRequest.class);
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ }
+
// TREATMENT HANDLING
- public boolean isDataUnchanged(long time) {
- if (time >= latestTreatmentChange) return true;
- else return false;
+ public boolean affectingIobCob(Treatment t) {
+ Treatment existing = findTreatmentByTimeIndex(t.timeIndex);
+ if (existing == null)
+ return true;
+ if (existing.insulin == t.insulin && existing.carbs == t.carbs)
+ return false;
+ return true;
}
public int update(Treatment treatment) {
int updated = 0;
try {
+ boolean historyChange = affectingIobCob(treatment);
updated = getDaoTreatments().update(treatment);
- latestTreatmentChange = treatment.getTimeIndex();
+ if (historyChange)
+ latestTreatmentChange = treatment.getTimeIndex();
} catch (SQLException e) {
e.printStackTrace();
}
@@ -211,8 +286,10 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
public Dao.CreateOrUpdateStatus createOrUpdate(Treatment treatment) {
Dao.CreateOrUpdateStatus status = null;
try {
+ boolean historyChange = affectingIobCob(treatment);
status = getDaoTreatments().createOrUpdate(treatment);
- latestTreatmentChange = treatment.getTimeIndex();
+ if (historyChange)
+ latestTreatmentChange = treatment.getTimeIndex();
} catch (SQLException e) {
e.printStackTrace();
}
@@ -311,6 +388,9 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper {
class PostRunnable implements Runnable {
public void run() {
MainApp.bus().post(new EventTreatmentChange());
+ if (latestTreatmentChange != null)
+ MainApp.bus().post(new EventNewHistoryData(latestTreatmentChange));
+ latestTreatmentChange = null;
scheduledPost = null;
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java b/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java
new file mode 100644
index 0000000000..0ecc5d4f32
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/db/DbRequest.java
@@ -0,0 +1,111 @@
+package info.nightscout.androidaps.db;
+
+import com.google.common.base.Charsets;
+import com.google.common.hash.Hashing;
+import com.j256.ormlite.field.DatabaseField;
+import com.j256.ormlite.table.DatabaseTable;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Created by mike on 27.02.2016.
+ *
+ * Allowed actions "dbAdd" || "dbUpdate" || "dbUpdateUnset" || "dbRemove"
+ */
+@DatabaseTable(tableName = DatabaseHelper.DATABASE_DBREQUESTS)
+public class DbRequest {
+ private static Logger log = LoggerFactory.getLogger(DbRequest.class);
+
+ public String getNsClientID() {
+ return nsClientID;
+ }
+
+ public void setNsClientID(String nsClientID) {
+ this.nsClientID = nsClientID;
+ }
+
+ @DatabaseField(id = true, useGetSet = true)
+ public String nsClientID = null;
+
+ @DatabaseField
+ public String action = null;
+
+ @DatabaseField
+ public String collection = null;
+
+ @DatabaseField
+ public String data = null;
+
+ @DatabaseField
+ public String _id = null;
+
+ public DbRequest() {
+ }
+
+ // dbAdd
+ public DbRequest(String action, String collection, String nsClientID, JSONObject data) {
+ this.action = action;
+ this.collection = collection;
+ this.data = data.toString();
+ this.nsClientID = nsClientID;
+ this._id = "";
+ }
+
+ // dbUpdate, dbUpdateUnset
+ public DbRequest(String action, String collection, String nsClientID, String _id, JSONObject data) {
+ this.action = action;
+ this.collection = collection;
+ this.data = data.toString();
+ this.nsClientID = nsClientID;
+ this._id = _id;
+ }
+
+ // dbRemove
+ public DbRequest(String action, String collection, String nsClientID, String _id) {
+ this.action = action;
+ this.collection = collection;
+ this.data = new JSONObject().toString();
+ this.nsClientID = nsClientID;
+ this._id = _id;
+ }
+
+ public String hash() {
+ return Hashing.sha1().hashString(action + collection + _id + data.toString(), Charsets.UTF_8).toString();
+ }
+
+ public JSONObject toJSON() {
+ JSONObject object = new JSONObject();
+ try {
+ object.put("action", action);
+ object.put("collection", collection);
+ object.put("data", new JSONObject(data));
+ if (_id != null) object.put("_id", _id);
+ if (nsClientID != null) object.put("nsClientID", nsClientID);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ return object;
+ }
+
+ public static DbRequest fromJSON(JSONObject jsonObject) {
+ DbRequest result = new DbRequest();
+ try {
+ if (jsonObject.has("action"))
+ result.action = jsonObject.getString("action");
+ if (jsonObject.has("collection"))
+ result.collection = jsonObject.getString("collection");
+ if (jsonObject.has("data"))
+ result.data = jsonObject.getJSONObject("data").toString();
+ if (jsonObject.has("_id"))
+ result._id = jsonObject.getString("_id");
+ if (jsonObject.has("nsClientID"))
+ result.nsClientID = jsonObject.getString("nsClientID");
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java b/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java
index 99389777d5..deccb18049 100644
--- a/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java
+++ b/app/src/main/java/info/nightscout/androidaps/db/TempBasal.java
@@ -11,7 +11,9 @@ import java.util.Date;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.data.Iob;
import info.nightscout.androidaps.data.IobTotal;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
+import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
@@ -52,18 +54,81 @@ public class TempBasal {
public boolean isAbsolute = false; // true if if set as absolute value in U
- public IobTotal iobCalc(Date time) {
- IobTotal result = new IobTotal(time.getTime());
- NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ public IobTotal iobCalc(long time) {
+ IobTotal result = new IobTotal(time);
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
+ InsulinInterface insulinInterface = ConfigBuilderPlugin.getActiveInsulin();
if (profile == null)
return result;
- int realDuration = getRealDuration();
+ int realDuration = getDurationToTime(time);
+ Double netBasalAmount = 0d;
+
+ if (realDuration > 0) {
+ Double netBasalRate = 0d;
+
+ int aboutFiveMinIntervals = (int) Math.ceil(realDuration / 5d);
+
+ result.netRatio = netBasalRate;
+
+ double tempBolusSpacing = realDuration / aboutFiveMinIntervals;
+ for (Long j = 0L; j < aboutFiveMinIntervals; j++) {
+ // find middle of the interval
+ Long date = (long) (timeStart.getTime() + j * tempBolusSpacing * 60 * 1000 + 0.5d * tempBolusSpacing * 60 * 1000);
+
+ Double basalRate = profile.getBasal(NSProfile.secondsFromMidnight(date));
+ if (isExtended) {
+ netBasalRate = this.absolute;
+ } else {
+ if (this.isAbsolute) {
+ netBasalRate = this.absolute - basalRate;
+ } else {
+ netBasalRate = (this.percent - 100) / 100d * basalRate;
+ }
+ }
+
+ double tempBolusSize = netBasalRate * tempBolusSpacing / 60d;
+ netBasalAmount += tempBolusSize;
+
+ Treatment tempBolusPart = new Treatment(insulinInterface);
+ tempBolusPart.insulin = tempBolusSize;
+ tempBolusPart.created_at = new Date(date);
+
+ Iob aIOB = insulinInterface.iobCalc(tempBolusPart, time, profile.getDia());
+ result.basaliob += aIOB.iobContrib;
+ result.activity += aIOB.activityContrib;
+ Double dia_ago = time - profile.getDia() * 60 * 60 * 1000;
+ if (date > dia_ago && date <= time) {
+ result.netbasalinsulin += tempBolusPart.insulin;
+ if (tempBolusPart.insulin > 0) {
+ result.hightempinsulin += tempBolusPart.insulin;
+ }
+ }
+ }
+ }
+ result.netInsulin = netBasalAmount;
+ return result;
+ }
+
+/*
+ public IobTotal old_iobCalc(long time) {
+ IobTotal result = new IobTotal(time);
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
+ InsulinInterface insulinInterface = ConfigBuilderPlugin.getActiveInsulin();
+
+ if (profile == null)
+ return result;
+
+ Double basalRate = profile.getBasal(NSProfile.secondsFromMidnight(time));
+
+ if (basalRate == null)
+ return result;
+
+ int realDuration = getDurationToTime(time);
if (realDuration > 0) {
Double netBasalRate = 0d;
- Double basalRate = profile.getBasal(profile.secondsFromMidnight(time));
Double tempBolusSize = 0.05;
if (isExtended) {
@@ -88,17 +153,17 @@ public class TempBasal {
Long tempBolusCount = Math.round(netBasalAmount / tempBolusSize);
if (tempBolusCount > 0) {
Long tempBolusSpacing = realDuration / tempBolusCount;
- for (Long j = 0l; j < tempBolusCount; j++) {
- Treatment tempBolusPart = new Treatment();
+ for (Long j = 0L; j < tempBolusCount; j++) {
+ Treatment tempBolusPart = new Treatment(insulinInterface);
tempBolusPart.insulin = tempBolusSize;
Long date = this.timeStart.getTime() + j * tempBolusSpacing * 60 * 1000;
tempBolusPart.created_at = new Date(date);
- Iob aIOB = tempBolusPart.iobCalc(time, profile.getDia());
+ Iob aIOB = insulinInterface.iobCalc(tempBolusPart, time, profile.getDia());
result.basaliob += aIOB.iobContrib;
result.activity += aIOB.activityContrib;
- Double dia_ago = time.getTime() - profile.getDia() * 60 * 60 * 1000;
- if (date > dia_ago && date <= time.getTime()) {
+ Double dia_ago = time - profile.getDia() * 60 * 60 * 1000;
+ if (date > dia_ago && date <= time) {
result.netbasalinsulin += tempBolusPart.insulin;
if (tempBolusPart.insulin > 0) {
result.hightempinsulin += tempBolusPart.insulin;
@@ -109,28 +174,35 @@ public class TempBasal {
}
return result;
}
+*/
// Determine end of basal
- public Date getTimeEnd() {
- Date tempBasalTimePlannedEnd = getPlannedTimeEnd();
- Date now = new Date();
+ public long getTimeEnd() {
+ long tempBasalTimePlannedEnd = getPlannedTimeEnd();
+ long now = new Date().getTime();
- if (timeEnd != null && timeEnd.getTime() < tempBasalTimePlannedEnd.getTime()) {
- tempBasalTimePlannedEnd = timeEnd;
+ if (timeEnd != null && timeEnd.getTime() < tempBasalTimePlannedEnd) {
+ tempBasalTimePlannedEnd = timeEnd.getTime();
}
- if (now.getTime() < tempBasalTimePlannedEnd.getTime())
+ if (now < tempBasalTimePlannedEnd)
tempBasalTimePlannedEnd = now;
return tempBasalTimePlannedEnd;
}
- public Date getPlannedTimeEnd() {
- return new Date(timeStart.getTime() + 60 * 1_000 * duration);
+ public long getPlannedTimeEnd() {
+ return timeStart.getTime() + 60 * 1_000 * duration;
}
public int getRealDuration() {
- Long msecs = getTimeEnd().getTime() - timeStart.getTime();
+ long msecs = getTimeEnd() - timeStart.getTime();
+ return Math.round(msecs / 60f / 1000);
+ }
+
+ public int getDurationToTime(long time) {
+ long endTime = Math.min(time, getTimeEnd());
+ long msecs = endTime - timeStart.getTime();
return Math.round(msecs / 60f / 1000);
}
@@ -140,7 +212,7 @@ public class TempBasal {
public int getPlannedRemainingMinutes() {
if (timeEnd != null) return 0;
- float remainingMin = (getPlannedTimeEnd().getTime() - new Date().getTime()) / 1000f / 60;
+ float remainingMin = (getPlannedTimeEnd() - new Date().getTime()) / 1000f / 60;
return (remainingMin < 0) ? 0 : Math.round(remainingMin);
}
@@ -166,12 +238,13 @@ public class TempBasal {
public boolean isInProgress(Date time) {
if (timeStart.getTime() > time.getTime()) return false; // in the future
if (timeEnd == null) { // open end
- if (timeStart.getTime() < time.getTime() && getPlannedTimeEnd().getTime() > time.getTime())
+ if (timeStart.getTime() < time.getTime() && getPlannedTimeEnd() > time.getTime())
return true; // in interval
return false;
}
// closed end
- if (timeStart.getTime() < time.getTime() && timeEnd.getTime() > time.getTime()) return true; // in interval
+ if (timeStart.getTime() < time.getTime() && timeEnd.getTime() > time.getTime())
+ return true; // in interval
return false;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/db/Treatment.java b/app/src/main/java/info/nightscout/androidaps/db/Treatment.java
index f8c2f3b829..dc933e59ee 100644
--- a/app/src/main/java/info/nightscout/androidaps/db/Treatment.java
+++ b/app/src/main/java/info/nightscout/androidaps/db/Treatment.java
@@ -11,11 +11,13 @@ import org.slf4j.LoggerFactory;
import java.util.Date;
import java.util.List;
+import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.data.Iob;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.Overview.graphExtensions.DataPointWithLabelInterface;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
@@ -43,12 +45,34 @@ public class Treatment implements DataPointWithLabelInterface {
@DatabaseField
public Double insulin = 0d;
+ @DatabaseField
+ public int insulinType = InsulinInterface.FASTACTINGINSULIN;
+
+ @DatabaseField
+ public double dia = Constants.defaultDIA;
+
@DatabaseField
public Double carbs = 0d;
@DatabaseField
public boolean mealBolus = true; // true for meal bolus , false for correction bolus
+ public Treatment() {
+ InsulinInterface insulin = MainApp.getConfigBuilder().getActiveInsulin();
+ if (insulin != null) {
+ insulinType = insulin.getId();
+ dia = insulin.getDia();
+ } else {
+ insulinType = InsulinInterface.FASTACTINGINSULIN;
+ dia = Constants.defaultDIA;
+ }
+ }
+
+ public Treatment(InsulinInterface insulin) {
+ insulinType = insulin.getId();
+ dia = insulin.getDia();
+ }
+
public void copyFrom(Treatment t) {
this._id = t._id;
this.created_at = t.created_at;
@@ -57,32 +81,6 @@ public class Treatment implements DataPointWithLabelInterface {
this.mealBolus = t.mealBolus;
}
- public Iob iobCalc(Date time, Double dia) {
- Iob result = new Iob();
-
- Double scaleFactor = 3.0 / dia;
- Double peak = 75d;
- Double end = 180d;
-
- if (this.insulin != 0d) {
- Long bolusTime = this.created_at.getTime();
- Double minAgo = scaleFactor * (time.getTime() - bolusTime) / 1000d / 60d;
-
- if (minAgo < peak) {
- Double x1 = minAgo / 5d + 1;
- result.iobContrib = this.insulin * (1 - 0.001852 * x1 * x1 + 0.001852 * x1);
- // units: BG (mg/dL) = (BG/U) * U insulin * scalar
- result.activityContrib = this.insulin * (2 / dia / 60 / peak) * minAgo;
-
- } else if (minAgo < end) {
- Double x2 = (minAgo - 75) / 5;
- result.iobContrib = this.insulin * (0.001323 * x2 * x2 - 0.054233 * x2 + 0.55556);
- result.activityContrib = this.insulin * (2 / dia / 60 - (minAgo - peak) * 2 / dia / 60 / (60 * 3 - peak));
- }
- }
- return result;
- }
-
public long getMillisecondsFromStart() {
return new Date().getTime() - created_at.getTime();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventConfigBuilderChange.java b/app/src/main/java/info/nightscout/androidaps/events/EventConfigBuilderChange.java
new file mode 100644
index 0000000000..38331ca581
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/events/EventConfigBuilderChange.java
@@ -0,0 +1,8 @@
+package info.nightscout.androidaps.events;
+
+/**
+ * Created by mike on 17.02.2017.
+ */
+
+public class EventConfigBuilderChange {
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventNewBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/events/EventNewBasalProfile.java
index 61feaa0897..3e270e8a1b 100644
--- a/app/src/main/java/info/nightscout/androidaps/events/EventNewBasalProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/events/EventNewBasalProfile.java
@@ -1,6 +1,6 @@
package info.nightscout.androidaps.events;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
/**
* Created by mike on 04.06.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java b/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java
index b4b430bb1e..76da0a4e67 100644
--- a/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java
+++ b/app/src/main/java/info/nightscout/androidaps/events/EventPreferenceChange.java
@@ -1,7 +1,25 @@
package info.nightscout.androidaps.events;
+import info.nightscout.androidaps.MainApp;
+
/**
* Created by mike on 19.06.2016.
*/
public class EventPreferenceChange {
+ public String changedKey;
+ public EventPreferenceChange(String key) {
+ changedKey = key;
+ }
+
+ public EventPreferenceChange(int resourceID) {
+ changedKey = MainApp.sResources.getString(resourceID);
+ }
+
+ public boolean isChanged(int id) {
+ return changedKey.equals(MainApp.sResources.getString(id));
+ }
+
+ public boolean isChanged(String id) {
+ return changedKey.equals(id);
+ }
}
diff --git a/app/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.java b/app/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.java
new file mode 100644
index 0000000000..ab697e4840
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/events/EventPumpStatusChanged.java
@@ -0,0 +1,50 @@
+package info.nightscout.androidaps.events;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+
+/**
+ * Created by mike on 19.02.2017.
+ */
+
+public class EventPumpStatusChanged {
+ public static final int CONNECTING = 0;
+ public static final int CONNECTED = 1;
+ public static final int PERFORMING = 2;
+ public static final int DISCONNECTING = 3;
+ public static final int DISCONNECTED = 4;
+
+ public int sStatus = DISCONNECTED;
+ public int sSecondsElapsed = 0;
+ public String sPerfomingAction = "";
+
+ public EventPumpStatusChanged(int status) {
+ sStatus = status;
+ sSecondsElapsed = 0;
+ }
+
+ public EventPumpStatusChanged(int status, int secondsElapsed) {
+ sStatus = status;
+ sSecondsElapsed = secondsElapsed;
+ }
+
+ public EventPumpStatusChanged(String action) {
+ sStatus = PERFORMING;
+ sSecondsElapsed = 0;
+ sPerfomingAction = action;
+ }
+
+ public String textStatus() {
+ if (sStatus == CONNECTING)
+ return String.format(MainApp.sResources.getString(R.string.danar_history_connectingfor), sSecondsElapsed);
+ else if (sStatus == CONNECTED)
+ return MainApp.sResources.getString(R.string.connected);
+ else if (sStatus == PERFORMING)
+ return sPerfomingAction;
+ else if (sStatus == DISCONNECTING)
+ return MainApp.sResources.getString(R.string.disconnecting);
+ else if (sStatus == DISCONNECTED)
+ return "";
+ return "";
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/FragmentBase.java b/app/src/main/java/info/nightscout/androidaps/interfaces/FragmentBase.java
deleted file mode 100644
index 79bfc75154..0000000000
--- a/app/src/main/java/info/nightscout/androidaps/interfaces/FragmentBase.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package info.nightscout.androidaps.interfaces;
-
-/**
- * Created by mike on 05.08.2016.
- */
-public interface FragmentBase {
-}
diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/InsulinInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/InsulinInterface.java
new file mode 100644
index 0000000000..6b50178652
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/interfaces/InsulinInterface.java
@@ -0,0 +1,21 @@
+package info.nightscout.androidaps.interfaces;
+
+import java.util.Date;
+
+import info.nightscout.androidaps.data.Iob;
+import info.nightscout.androidaps.db.Treatment;
+
+/**
+ * Created by mike on 17.04.2017.
+ */
+
+public interface InsulinInterface {
+ final int FASTACTINGINSULIN = 0;
+ final int FASTACTINGINSULINPROLONGED = 1;
+
+ int getId();
+ String getFriendlyName();
+ String getComment();
+ double getDia();
+ public Iob iobCalc(Treatment treatment, long time, Double dia);
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java b/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java
index 4442b83041..efbd51ea72 100644
--- a/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java
+++ b/app/src/main/java/info/nightscout/androidaps/interfaces/PluginBase.java
@@ -15,7 +15,8 @@ public interface PluginBase {
int CONSTRAINTS = 7;
int LOOP = 8;
int BGSOURCE = 9;
- int LAST = 10; // keep always highest number
+ int INSULIN = 10;
+ int LAST = 11; // keep always highest number
int getType();
String getFragmentClass();
@@ -25,6 +26,8 @@ public interface PluginBase {
boolean isEnabled(int type);
boolean isVisibleInTabs(int type);
boolean canBeHidden(int type);
+ boolean hasFragment();
+ boolean showInList(int type);
void setFragmentEnabled(int type, boolean fragmentEnabled);
void setFragmentVisible(int type, boolean fragmentVisible);
}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/ProfileInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/ProfileInterface.java
index ae28697834..0924723776 100644
--- a/app/src/main/java/info/nightscout/androidaps/interfaces/ProfileInterface.java
+++ b/app/src/main/java/info/nightscout/androidaps/interfaces/ProfileInterface.java
@@ -2,7 +2,7 @@ package info.nightscout.androidaps.interfaces;
import android.support.annotation.Nullable;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
/**
* Created by mike on 14.06.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/PumpInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/PumpInterface.java
index 550b05103e..b9c7e18650 100644
--- a/app/src/main/java/info/nightscout/androidaps/interfaces/PumpInterface.java
+++ b/app/src/main/java/info/nightscout/androidaps/interfaces/PumpInterface.java
@@ -8,8 +8,7 @@ import java.util.Date;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.TempBasal;
-import info.nightscout.androidaps.plugins.Loop.APSResult;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
/**
* Created by mike on 04.06.2016.
@@ -30,8 +29,8 @@ public interface PumpInterface {
int setNewBasalProfile(NSProfile profile);
boolean isThisProfileSet(NSProfile profile);
- Date lastStatusTime();
- void updateStatus(String reason);
+ Date lastDataTime();
+ void refreshDataFromPump(String reason);
double getBaseBasalRate(); // base basal rate, not temp basal
double getTempBasalAbsoluteRate();
@@ -40,7 +39,7 @@ public interface PumpInterface {
TempBasal getTempBasal();
TempBasal getExtendedBolus();
- PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context);
+ PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context);
void stopBolusDelivering();
PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes);
PumpEnactResult setTempBasalPercent(Integer percent, Integer durationInMinutes);
@@ -52,7 +51,9 @@ public interface PumpInterface {
JSONObject getJSONStatus();
String deviceID();
+ // Pump capabilities
PumpDescription getPumpDescription();
- public String shortStatus(boolean veryShort);
+ // Short info for SMS, Wear etc
+ String shortStatus(boolean veryShort);
}
diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/TreatmentsInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/TreatmentsInterface.java
index efb5f85fd0..9ecacf9e22 100644
--- a/app/src/main/java/info/nightscout/androidaps/interfaces/TreatmentsInterface.java
+++ b/app/src/main/java/info/nightscout/androidaps/interfaces/TreatmentsInterface.java
@@ -16,4 +16,5 @@ public interface TreatmentsInterface {
IobTotal getCalculationToTime(long time);
MealData getMealData();
List getTreatments();
+ List getTreatments5MinBack(long time);
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java
index c3ea14dc79..582feb89a6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsFragment.java
@@ -17,17 +17,16 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventRefreshGui;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.Actions.dialogs.FillDialog;
-import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
-import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
import info.nightscout.androidaps.plugins.Actions.dialogs.NewExtendedBolusDialog;
import info.nightscout.androidaps.plugins.Actions.dialogs.NewTempBasalDialog;
+import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
+import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
/**
* A simple {@link Fragment} subclass.
*/
-public class ActionsFragment extends Fragment implements FragmentBase, View.OnClickListener {
+public class ActionsFragment extends Fragment implements View.OnClickListener {
static ActionsPlugin actionsPlugin = new ActionsPlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsPlugin.java
index eedd0e4baf..d6ef13b29d 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/ActionsPlugin.java
@@ -54,6 +54,16 @@ public class ActionsPlugin implements PluginBase {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == GENERAL) this.fragmentEnabled = fragmentEnabled;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java
index a170ea0e02..dd623c38e9 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/FillDialog.java
@@ -18,6 +18,9 @@ import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+
import java.text.DecimalFormat;
import info.nightscout.androidaps.Constants;
@@ -28,6 +31,7 @@ import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.PlusMinusEditText;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
public class FillDialog extends DialogFragment implements OnClickListener {
@@ -72,10 +76,9 @@ public class FillDialog extends DialogFragment implements OnClickListener {
Button button3 = (Button) view.findViewById(R.id.fill_preset_button3);
View divider = view.findViewById(R.id.fill_preset_divider);
- SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- amount1 = SafeParse.stringToDouble(DecimalFormatter.to2Decimal(SafeParse.stringToDouble(sp.getString("fill_button1", "0.3"))));
- amount2 = SafeParse.stringToDouble(DecimalFormatter.to2Decimal(SafeParse.stringToDouble(sp.getString("fill_button2", "0"))));
- amount3 = SafeParse.stringToDouble(DecimalFormatter.to2Decimal(SafeParse.stringToDouble(sp.getString("fill_button3", "0"))));
+ amount1 = SP.getDouble("fill_button1", 0.3);
+ amount2 = SP.getDouble("fill_button2", 0d);
+ amount3 = SP.getDouble("fill_button3", 0d);
if(amount1 >0) {
button1.setVisibility(View.VISIBLE);
@@ -156,7 +159,7 @@ public class FillDialog extends DialogFragment implements OnClickListener {
mHandler.post(new Runnable() {
@Override
public void run() {
- PumpEnactResult result = pump.deliverTreatment(finalInsulinAfterConstraints, 0, context, false);
+ PumpEnactResult result = pump.deliverTreatment(MainApp.getConfigBuilder().getActiveInsulin(), finalInsulinAfterConstraints, 0, context, false);
if (!result.success) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(MainApp.sResources.getString(R.string.treatmentdeliveryerror));
@@ -166,6 +169,7 @@ public class FillDialog extends DialogFragment implements OnClickListener {
}
}
});
+ Answers.getInstance().logCustom(new CustomEvent("Fill"));
}
}
});
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewExtendedBolusDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewExtendedBolusDialog.java
index 56ffa69d5f..ee726efb4d 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewExtendedBolusDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewExtendedBolusDialog.java
@@ -14,6 +14,9 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+
import java.text.DecimalFormat;
import info.nightscout.androidaps.Constants;
@@ -117,6 +120,7 @@ public class NewExtendedBolusDialog extends DialogFragment implements View.OnCli
}
}
});
+ Answers.getInstance().logCustom(new CustomEvent("ExtendedBolus"));
}
});
builder.setNegativeButton(getString(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java
index ea0ef114e8..2d5a4580c4 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Actions/dialogs/NewTempBasalDialog.java
@@ -16,6 +16,9 @@ import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+
import java.text.DecimalFormat;
import info.nightscout.androidaps.Constants;
@@ -23,7 +26,7 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.PlusMinusEditText;
import info.nightscout.utils.SafeParse;
@@ -51,7 +54,7 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
public static HandlerThread mHandlerThread;
public NewTempBasalDialog() {
- mHandlerThread = new HandlerThread(NewExtendedBolusDialog.class.getSimpleName());
+ mHandlerThread = new HandlerThread(NewTempBasalDialog.class.getSimpleName());
mHandlerThread.start();
this.mHandler = new Handler(mHandlerThread.getLooper());
}
@@ -158,7 +161,7 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
}
}
});
-
+ Answers.getInstance().logCustom(new CustomEvent("TempBasal"));
}
});
builder.setNegativeButton(getString(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalFragment.java
index 69db12c29b..7c603ecaed 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalFragment.java
@@ -9,10 +9,9 @@ import android.view.View;
import android.view.ViewGroup;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
-public class CareportalFragment extends Fragment implements FragmentBase, View.OnClickListener {
+public class CareportalFragment extends Fragment implements View.OnClickListener {
static CareportalPlugin careportalPlugin;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalPlugin.java
index 9fd4cbca85..e6981083d0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/CareportalPlugin.java
@@ -50,6 +50,16 @@ public class CareportalPlugin implements PluginBase {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == GENERAL) this.fragmentEnabled = fragmentEnabled;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java
index 4c93b88102..34641f5ebb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Careportal/Dialogs/NewNSTreatmentDialog.java
@@ -3,11 +3,9 @@ package info.nightscout.androidaps.plugins.Careportal.Dialogs;
import android.app.Activity;
import android.content.DialogInterface;
-import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
-import android.preference.PreferenceManager;
import android.support.v4.app.DialogFragment;
import android.support.v4.app.FragmentActivity;
import android.support.v7.app.AlertDialog;
@@ -26,6 +24,8 @@ import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.j256.ormlite.dao.Dao;
import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;
import com.wdullaer.materialdatetimepicker.time.RadialPickerLayout;
@@ -42,7 +42,6 @@ import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
-
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
@@ -51,12 +50,13 @@ import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.events.EventNewBasalProfile;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
-import info.nightscout.androidaps.plugins.CircadianPercentageProfile.CircadianPercentageProfilePlugin;
+import info.nightscout.androidaps.plugins.ProfileCircadianPercentage.CircadianPercentageProfilePlugin;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.TempTargetRange.events.EventTempTargetRangeChange;
-import info.nightscout.client.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.PlusMinusEditText;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
import info.nightscout.utils.Translator;
@@ -391,7 +391,6 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
JSONObject gatherData() {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
String enteredBy = SP.getString("careportal_enteredby", "");
JSONObject data = new JSONObject();
try {
@@ -630,6 +629,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
data.put("percentage", cpp.percentage);
}
ConfigBuilderPlugin.uploadCareportalEntryToNS(data);
+ Answers.getInstance().logCustom(new CustomEvent("ProfileSwitch"));
} catch (JSONException e) {
e.printStackTrace();
}
@@ -660,6 +660,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
dao.createIfNotExists(tempTarget);
MainApp.bus().post(new EventTempTargetRangeChange());
ConfigBuilderPlugin.uploadCareportalEntryToNS(data);
+ Answers.getInstance().logCustom(new CustomEvent("TempTarget"));
} catch (JSONException | SQLException e) {
e.printStackTrace();
}
@@ -671,6 +672,7 @@ public class NewNSTreatmentDialog extends DialogFragment implements View.OnClick
}
} else {
ConfigBuilderPlugin.uploadCareportalEntryToNS(data);
+ Answers.getInstance().logCustom(new CustomEvent("NSTreatment"));
}
}
});
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java
index bf9f3fb0b2..8dc546a1f8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderFragment.java
@@ -16,24 +16,29 @@ import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+
import java.util.ArrayList;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventConfigBuilderChange;
import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.APSInterface;
import info.nightscout.androidaps.interfaces.BgSourceInterface;
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
-import info.nightscout.androidaps.interfaces.FragmentBase;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.androidaps.plugins.NSProfile.NSProfilePlugin;
-import info.nightscout.androidaps.plugins.VirtualPump.VirtualPumpPlugin;
+import info.nightscout.androidaps.plugins.InsulinFastacting.InsulinFastactingPlugin;
+import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin;
+import info.nightscout.androidaps.plugins.PumpVirtual.VirtualPumpPlugin;
import info.nightscout.utils.PasswordProtection;
-public class ConfigBuilderFragment extends Fragment implements FragmentBase {
+public class ConfigBuilderFragment extends Fragment {
static ConfigBuilderPlugin configBuilderPlugin = new ConfigBuilderPlugin();
@@ -41,20 +46,28 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
return configBuilderPlugin;
}
+ ListView insulinListView;
ListView bgsourceListView;
ListView pumpListView;
+ TextView pumpLabel;
ListView loopListView;
TextView loopLabel;
ListView treatmentsListView;
ListView tempsListView;
+ TextView tempsLabel;
ListView profileListView;
ListView apsListView;
TextView apsLabel;
ListView constraintsListView;
+ TextView constraintsLabel;
ListView generalListView;
TextView nsclientVerView;
TextView nightscoutVerView;
+ LinearLayout mainLayout;
+ Button unlock;
+
+ PluginCustomAdapter insulinDataAdapter = null;
PluginCustomAdapter bgsourceDataAdapter = null;
PluginCustomAdapter pumpDataAdapter = null;
PluginCustomAdapter loopDataAdapter = null;
@@ -65,29 +78,34 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
PluginCustomAdapter constraintsDataAdapter = null;
PluginCustomAdapter generalDataAdapter = null;
- LinearLayout mainLayout;
- Button unlock;
-
// TODO: sorting
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.configbuilder_fragment, container, false);
+
+ insulinListView = (ListView) view.findViewById(R.id.configbuilder_insulinlistview);
bgsourceListView = (ListView) view.findViewById(R.id.configbuilder_bgsourcelistview);
pumpListView = (ListView) view.findViewById(R.id.configbuilder_pumplistview);
+ pumpLabel = (TextView) view.findViewById(R.id.configbuilder_pumplabel);
loopListView = (ListView) view.findViewById(R.id.configbuilder_looplistview);
loopLabel = (TextView) view.findViewById(R.id.configbuilder_looplabel);
treatmentsListView = (ListView) view.findViewById(R.id.configbuilder_treatmentslistview);
tempsListView = (ListView) view.findViewById(R.id.configbuilder_tempslistview);
+ tempsLabel = (TextView) view.findViewById(R.id.configbuilder_tempslabel);
profileListView = (ListView) view.findViewById(R.id.configbuilder_profilelistview);
apsListView = (ListView) view.findViewById(R.id.configbuilder_apslistview);
apsLabel = (TextView) view.findViewById(R.id.configbuilder_apslabel);
constraintsListView = (ListView) view.findViewById(R.id.configbuilder_constraintslistview);
+ constraintsLabel = (TextView) view.findViewById(R.id.configbuilder_constraintslabel);
generalListView = (ListView) view.findViewById(R.id.configbuilder_generallistview);
nsclientVerView = (TextView) view.findViewById(R.id.configbuilder_nsclientversion);
nightscoutVerView = (TextView) view.findViewById(R.id.configbuilder_nightscoutversion);
+ mainLayout = (LinearLayout) view.findViewById(R.id.configbuilder_mainlayout);
+ unlock = (Button) view.findViewById(R.id.configbuilder_unlock);
+
nsclientVerView.setText(ConfigBuilderPlugin.nsClientVersionName);
nightscoutVerView.setText(ConfigBuilderPlugin.nightscoutVersionName);
if (ConfigBuilderPlugin.nsClientVersionCode < 117) nsclientVerView.setTextColor(Color.RED);
@@ -95,9 +113,6 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
nightscoutVerView.setTextColor(Color.RED);
setViews();
- unlock = (Button) view.findViewById(R.id.configbuilder_unlock);
- mainLayout = (LinearLayout) view.findViewById(R.id.configbuilder_mainlayout);
-
if (PasswordProtection.isLocked("settings_password")) {
mainLayout.setVisibility(View.GONE);
unlock.setOnClickListener(new View.OnClickListener() {
@@ -112,40 +127,51 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
}, null);
}
});
+ } else {
+ unlock.setVisibility(View.GONE);
}
return view;
}
void setViews() {
- bgsourceDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsListByInterface(BgSourceInterface.class), PluginBase.BGSOURCE);
+ insulinDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInListByInterface(InsulinInterface.class, PluginBase.INSULIN), PluginBase.INSULIN);
+ insulinListView.setAdapter(insulinDataAdapter);
+ setListViewHeightBasedOnChildren(insulinListView);
+ bgsourceDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInListByInterface(BgSourceInterface.class, PluginBase.BGSOURCE), PluginBase.BGSOURCE);
bgsourceListView.setAdapter(bgsourceDataAdapter);
setListViewHeightBasedOnChildren(bgsourceListView);
- pumpDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsList(PluginBase.PUMP), PluginBase.PUMP);
+ pumpDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInList(PluginBase.PUMP), PluginBase.PUMP);
pumpListView.setAdapter(pumpDataAdapter);
+ if (MainApp.getSpecificPluginsVisibleInList(PluginBase.PUMP).size() == 0)
+ pumpLabel.setVisibility(View.GONE);
setListViewHeightBasedOnChildren(pumpListView);
- loopDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsList(PluginBase.LOOP), PluginBase.LOOP);
+ loopDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInList(PluginBase.LOOP), PluginBase.LOOP);
loopListView.setAdapter(loopDataAdapter);
setListViewHeightBasedOnChildren(loopListView);
- if (MainApp.getSpecificPluginsList(PluginBase.LOOP).size() == 0)
+ if (MainApp.getSpecificPluginsVisibleInList(PluginBase.LOOP).size() == 0)
loopLabel.setVisibility(View.GONE);
- treatmentsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsList(PluginBase.TREATMENT), PluginBase.TREATMENT);
+ treatmentsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInList(PluginBase.TREATMENT), PluginBase.TREATMENT);
treatmentsListView.setAdapter(treatmentsDataAdapter);
setListViewHeightBasedOnChildren(treatmentsListView);
- tempsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsList(PluginBase.TEMPBASAL), PluginBase.TEMPBASAL);
+ tempsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInList(PluginBase.TEMPBASAL), PluginBase.TEMPBASAL);
tempsListView.setAdapter(tempsDataAdapter);
setListViewHeightBasedOnChildren(tempsListView);
- profileDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsListByInterface(ProfileInterface.class), PluginBase.PROFILE);
+ if (MainApp.getSpecificPluginsVisibleInList(PluginBase.TEMPBASAL).size() == 0)
+ tempsLabel.setVisibility(View.GONE);
+ profileDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInListByInterface(ProfileInterface.class, PluginBase.BGSOURCE), PluginBase.PROFILE);
profileListView.setAdapter(profileDataAdapter);
setListViewHeightBasedOnChildren(profileListView);
- apsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsList(PluginBase.APS), PluginBase.APS);
+ apsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInList(PluginBase.APS), PluginBase.APS);
apsListView.setAdapter(apsDataAdapter);
setListViewHeightBasedOnChildren(apsListView);
- if (MainApp.getSpecificPluginsList(PluginBase.APS).size() == 0)
+ if (MainApp.getSpecificPluginsVisibleInList(PluginBase.APS).size() == 0)
apsLabel.setVisibility(View.GONE);
- constraintsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsListByInterface(ConstraintsInterface.class), PluginBase.CONSTRAINTS);
+ constraintsDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInListByInterface(ConstraintsInterface.class, PluginBase.BGSOURCE), PluginBase.CONSTRAINTS);
constraintsListView.setAdapter(constraintsDataAdapter);
setListViewHeightBasedOnChildren(constraintsListView);
- generalDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsList(PluginBase.GENERAL), PluginBase.GENERAL);
+ if (MainApp.getSpecificPluginsVisibleInList(PluginBase.CONSTRAINTS).size() == 0)
+ constraintsLabel.setVisibility(View.GONE);
+ generalDataAdapter = new PluginCustomAdapter(getContext(), R.layout.configbuilder_simpleitem, MainApp.getSpecificPluginsVisibleInList(PluginBase.GENERAL), PluginBase.GENERAL);
generalListView.setAdapter(generalDataAdapter);
setListViewHeightBasedOnChildren(generalListView);
@@ -175,18 +201,18 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
}
@Override
- public View getView(int position, View convertView, ViewGroup parent) {
+ public View getView(int position, View view, ViewGroup parent) {
PluginViewHolder holder = null;
- if (convertView == null) {
- convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.configbuilder_simpleitem, null);
+ if (view == null) {
+ view = LayoutInflater.from(parent.getContext()).inflate(R.layout.configbuilder_simpleitem, null);
holder = new PluginViewHolder();
- holder.name = (TextView) convertView.findViewById(R.id.configbuilder_simpleitem_name);
- holder.checkboxEnabled = (CheckBox) convertView.findViewById(R.id.configbuilder_simpleitem_checkboxenabled);
- holder.checkboxVisible = (CheckBox) convertView.findViewById(R.id.configbuilder_simpleitem_checkboxvisible);
- convertView.setTag(holder);
+ holder.name = (TextView) view.findViewById(R.id.configbuilder_simpleitem_name);
+ holder.checkboxEnabled = (CheckBox) view.findViewById(R.id.configbuilder_simpleitem_checkboxenabled);
+ holder.checkboxVisible = (CheckBox) view.findViewById(R.id.configbuilder_simpleitem_checkboxvisible);
+ view.setTag(holder);
holder.checkboxEnabled.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
@@ -197,7 +223,9 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
onEnabledCategoryChanged(plugin, type);
configBuilderPlugin.storeSettings();
MainApp.bus().post(new EventRefreshGui(true));
+ MainApp.bus().post(new EventConfigBuilderChange());
getPlugin().logPluginStatus();
+ Answers.getInstance().logCustom(new CustomEvent("ConfigurationChange"));
}
});
@@ -212,7 +240,7 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
}
});
} else {
- holder = (PluginViewHolder) convertView.getTag();
+ holder = (PluginViewHolder) view.getTag();
}
PluginBase plugin = pluginList.get(position);
@@ -232,8 +260,12 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
holder.checkboxVisible.setEnabled(false);
}
+ if (!plugin.hasFragment()) {
+ holder.checkboxVisible.setVisibility(View.INVISIBLE);
+ }
+
// Hide enabled control and force enabled plugin if there is only one plugin available
- if (type == PluginBase.PUMP || type == PluginBase.TREATMENT || type == PluginBase.TEMPBASAL || type == PluginBase.PROFILE)
+ if (type == PluginBase.INSULIN || type == PluginBase.PUMP || type == PluginBase.TREATMENT || type == PluginBase.TEMPBASAL || type == PluginBase.PROFILE)
if (pluginList.size() < 2) {
holder.checkboxEnabled.setEnabled(false);
plugin.setFragmentEnabled(type, true);
@@ -264,7 +296,7 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
}
}
- return convertView;
+ return view;
}
@@ -279,6 +311,9 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
case PluginBase.LOOP:
break;
// Single selection allowed
+ case PluginBase.INSULIN:
+ pluginsInCategory = MainApp.getSpecificPluginsListByInterface(InsulinInterface.class);
+ break;
case PluginBase.APS:
pluginsInCategory = MainApp.getSpecificPluginsListByInterface(APSInterface.class);
break;
@@ -308,6 +343,8 @@ public class ConfigBuilderFragment extends Fragment implements FragmentBase {
} else { // enable first plugin in list
if (type == PluginBase.PUMP)
MainApp.getSpecificPlugin(VirtualPumpPlugin.class).setFragmentEnabled(type, true);
+ else if (type == PluginBase.INSULIN)
+ MainApp.getSpecificPlugin(InsulinFastactingPlugin.class).setFragmentEnabled(type, true);
else if (type == PluginBase.PROFILE)
MainApp.getSpecificPlugin(NSProfilePlugin.class).setFragmentEnabled(type, true);
else
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java
index a0b2a7b3b0..84135e5e85 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConfigBuilder/ConfigBuilderPlugin.java
@@ -9,8 +9,6 @@ import android.preference.PreferenceManager;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
-import com.squareup.otto.Subscribe;
-
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
@@ -18,10 +16,6 @@ import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Date;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
@@ -31,19 +25,19 @@ import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventBolusRequested;
-import info.nightscout.androidaps.events.EventNewBG;
import info.nightscout.androidaps.events.EventTempBasalChange;
import info.nightscout.androidaps.events.EventTreatmentChange;
import info.nightscout.androidaps.interfaces.APSInterface;
import info.nightscout.androidaps.interfaces.BgSourceInterface;
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgError;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgError;
import info.nightscout.androidaps.plugins.Loop.APSResult;
import info.nightscout.androidaps.plugins.Loop.DeviceStatus;
import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
@@ -52,11 +46,14 @@ import info.nightscout.androidaps.plugins.OpenAPSMA.DetermineBasalResultMA;
import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressDialog;
import info.nightscout.androidaps.plugins.Overview.Dialogs.BolusProgressHelperActivity;
import info.nightscout.androidaps.plugins.Overview.Notification;
+import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
-import info.nightscout.client.data.DbLogger;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.DbLogger;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.BatteryLevel;
import info.nightscout.utils.DateUtil;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -71,6 +68,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
static TempBasalsInterface activeTempBasals;
static APSInterface activeAPS;
static LoopPlugin activeLoop;
+ static InsulinInterface activeInsulin;
static public String nightscoutVersionName = "";
static public Integer nightscoutVersionCode = 0;
@@ -79,9 +77,6 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
static ArrayList pluginList;
- private static final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor();
- private static ScheduledFuture> scheduledPost = null;
-
PowerManager.WakeLock mWakeLock;
public ConfigBuilderPlugin() {
@@ -132,6 +127,16 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
return false;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return false;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
// Always enabled
@@ -179,7 +184,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
if (SP.contains(settingEnabled))
p.setFragmentEnabled(type, SP.getBoolean(settingEnabled, true));
if (SP.contains(settingVisible))
- p.setFragmentVisible(type, SP.getBoolean(settingVisible, true));
+ p.setFragmentVisible(type, SP.getBoolean(settingVisible, true) && SP.getBoolean(settingEnabled, true));
} catch (Exception e) {
e.printStackTrace();
}
@@ -205,6 +210,10 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
return activeTempBasals;
}
+ public static InsulinInterface getActiveInsulin() {
+ return activeInsulin;
+ }
+
public static APSInterface getActiveAPS() {
return activeAPS;
}
@@ -224,7 +233,8 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
(p.isEnabled(6) ? " PUMP" : "") +
(p.isEnabled(7) ? " CONSTRAINTS" : "") +
(p.isEnabled(8) ? " LOOP" : "") +
- (p.isEnabled(9) ? " BGSOURCE" : "")
+ (p.isEnabled(9) ? " BGSOURCE" : "") +
+ (p.isEnabled(10) ? " INSULIN" : "")
);
}
}
@@ -245,7 +255,18 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
}
}
- // PluginBase.PROFILE
+ // PluginBase.INSULIN
+ pluginsInCategory = MainApp.getSpecificPluginsListByInterface(InsulinInterface.class);
+ activeInsulin = (InsulinInterface) getTheOneEnabledInArray(pluginsInCategory, PluginBase.INSULIN);
+ if (Config.logConfigBuilder)
+ log.debug("Selected insulin interface: " + ((PluginBase) activeInsulin).getName());
+ for (PluginBase p : pluginsInCategory) {
+ if (!p.getName().equals(((PluginBase) activeInsulin).getName())) {
+ p.setFragmentVisible(PluginBase.INSULIN, false);
+ }
+ }
+
+ // PluginBase.PROFILE
pluginsInCategory = MainApp.getSpecificPluginsListByInterface(ProfileInterface.class);
activeProfile = (ProfileInterface) getTheOneEnabledInArray(pluginsInCategory, PluginBase.PROFILE);
if (Config.logConfigBuilder)
@@ -270,7 +291,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
// PluginBase.PUMP
pluginsInCategory = MainApp.getSpecificPluginsList(PluginBase.PUMP);
activePump = (PumpInterface) getTheOneEnabledInArray(pluginsInCategory, PluginBase.PUMP);
- if (Config.logConfigBuilder)
+ if (Config.logConfigBuilder && activePump != null)
log.debug("Selected pump interface: " + ((PluginBase) activePump).getName());
for (PluginBase p : pluginsInCategory) {
if (!p.getName().equals(((PluginBase) activePump).getName())) {
@@ -294,7 +315,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
// PluginBase.TEMPBASAL
pluginsInCategory = MainApp.getSpecificPluginsList(PluginBase.TEMPBASAL);
activeTempBasals = (TempBasalsInterface) getTheOneEnabledInArray(pluginsInCategory, PluginBase.TEMPBASAL);
- if (Config.logConfigBuilder)
+ if (Config.logConfigBuilder && activeTempBasals != null)
log.debug("Selected tempbasal interface: " + ((PluginBase) activeTempBasals).getName());
for (PluginBase p : pluginsInCategory) {
if (!p.getName().equals(((PluginBase) activeTempBasals).getName())) {
@@ -338,27 +359,37 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
*/
@Override
public boolean isInitialized() {
- return activePump.isInitialized();
+ if (activePump != null)
+ return activePump.isInitialized();
+ else return true;
}
@Override
public boolean isSuspended() {
- return activePump.isSuspended();
+ if (activePump != null)
+ return activePump.isSuspended();
+ else return false;
}
@Override
public boolean isBusy() {
- return activePump.isBusy();
+ if (activePump != null)
+ return activePump.isBusy();
+ else return false;
}
@Override
public boolean isTempBasalInProgress() {
- return activePump.isTempBasalInProgress();
+ if (activePump != null)
+ return activePump.isTempBasalInProgress();
+ else return false;
}
@Override
public boolean isExtendedBoluslInProgress() {
- return activePump.isExtendedBoluslInProgress();
+ if (activePump != null)
+ return activePump.isExtendedBoluslInProgress();
+ else return false;
}
@Override
@@ -379,147 +410,195 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
if (isThisProfileSet(profile)) {
log.debug("Correct profile already set");
return NOT_NEEDED;
- } else {
+ } else if (activePump != null) {
return activePump.setNewBasalProfile(profile);
- }
+ } else
+ return SUCCESS;
}
@Override
public boolean isThisProfileSet(NSProfile profile) {
- return activePump.isThisProfileSet(profile);
+ if (activePump != null)
+ return activePump.isThisProfileSet(profile);
+ else return true;
}
@Override
- public Date lastStatusTime() {
- return activePump.lastStatusTime();
+ public Date lastDataTime() {
+ if (activePump != null)
+ return activePump.lastDataTime();
+ else return new Date();
}
@Override
- public void updateStatus(String reason) {
- activePump.updateStatus(reason);
+ public void refreshDataFromPump(String reason) {
+ if (activePump != null)
+ activePump.refreshDataFromPump(reason);
}
@Override
public double getBaseBasalRate() {
- return activePump.getBaseBasalRate();
+ if (activePump != null)
+ return activePump.getBaseBasalRate();
+ else
+ return 0d;
}
@Override
public double getTempBasalAbsoluteRate() {
- return activePump.getTempBasalAbsoluteRate();
+ if (activePump != null)
+ return activePump.getTempBasalAbsoluteRate();
+ else
+ return 0d;
}
@Override
public double getTempBasalRemainingMinutes() {
- return activePump.getTempBasalRemainingMinutes();
+ if (activePump != null)
+ return activePump.getTempBasalRemainingMinutes();
+ else
+ return 0d;
}
@Override
public TempBasal getTempBasal(Date time) {
- return activePump.getTempBasal(time);
+ if (activePump != null)
+ return activePump.getTempBasal(time);
+ else
+ return null;
}
@Override
public TempBasal getTempBasal() {
- return activePump.getTempBasal();
+ if (activePump != null)
+ return activePump.getTempBasal();
+ else
+ return null;
}
@Override
public TempBasal getExtendedBolus() {
- return activePump.getExtendedBolus();
+ if (activePump != null)
+ return activePump.getExtendedBolus();
+ else
+ return null;
}
- public PumpEnactResult deliverTreatmentFromBolusWizard(Context context, Double insulin, Integer carbs, Double glucose, String glucoseType, int carbTime, JSONObject boluscalc) {
+ public PumpEnactResult deliverTreatmentFromBolusWizard(InsulinInterface insulinType, Context context, Double insulin, Integer carbs, Double glucose, String glucoseType, int carbTime, JSONObject boluscalc) {
mWakeLock.acquire();
- insulin = applyBolusConstraints(insulin);
- carbs = applyCarbsConstraints(carbs);
+ PumpEnactResult result;
+ if (activePump != null) {
+ insulin = applyBolusConstraints(insulin);
+ carbs = applyCarbsConstraints(carbs);
- BolusProgressDialog bolusProgressDialog = null;
- if (context != null) {
- bolusProgressDialog = new BolusProgressDialog();
- bolusProgressDialog.setInsulin(insulin);
- bolusProgressDialog.show(((AppCompatActivity) context).getSupportFragmentManager(), "BolusProgress");
- }
-
- MainApp.bus().post(new EventBolusRequested(insulin));
-
- PumpEnactResult result = activePump.deliverTreatment(insulin, carbs, context);
-
- BolusProgressDialog.bolusEnded = true;
-
- if (bolusProgressDialog != null && BolusProgressDialog.running) {
- try {
- bolusProgressDialog.dismiss();
- } catch (Exception e) {
- e.printStackTrace(); // TODO: handle this better
+ BolusProgressDialog bolusProgressDialog = null;
+ if (context != null) {
+ bolusProgressDialog = new BolusProgressDialog();
+ bolusProgressDialog.setInsulin(insulin);
+ bolusProgressDialog.show(((AppCompatActivity) context).getSupportFragmentManager(), "BolusProgress");
}
- }
- if (result.success) {
- Treatment t = new Treatment();
- t.insulin = result.bolusDelivered;
- if (carbTime == 0)
- t.carbs = (double) result.carbsDelivered; // with different carbTime record will come back from nightscout
+ MainApp.bus().post(new EventBolusRequested(insulin));
+
+ result = activePump.deliverTreatment(insulinType, insulin, carbs, context);
+
+ BolusProgressDialog.bolusEnded = true;
+
+ MainApp.bus().post(new EventDismissBolusprogressIfRunning(result));
+
+ if (result.success) {
+ Treatment t = new Treatment(insulinType);
+ t.insulin = result.bolusDelivered;
+ if (carbTime == 0)
+ t.carbs = (double) result.carbsDelivered; // with different carbTime record will come back from nightscout
+ t.created_at = new Date();
+ t.mealBolus = result.carbsDelivered > 0;
+ MainApp.getDbHelper().create(t);
+ t.setTimeIndex(t.getTimeIndex());
+ t.carbs = (double) result.carbsDelivered;
+ uploadBolusWizardRecord(t, glucose, glucoseType, carbTime, boluscalc);
+ }
+ } else {
+ if (Config.logCongigBuilderActions)
+ log.debug("Creating treatment: " + insulin + " carbs: " + carbs);
+ Treatment t = new Treatment(insulinType);
+ t.insulin = insulin;
+ t.carbs = (double) carbs;
t.created_at = new Date();
- t.mealBolus = result.carbsDelivered > 0;
+ t.mealBolus = t.carbs > 0;
MainApp.getDbHelper().create(t);
t.setTimeIndex(t.getTimeIndex());
- t.carbs = (double) result.carbsDelivered;
- uploadBolusWizardRecord(t, glucose, glucoseType, carbTime, boluscalc);
+ t.sendToNSClient();
+ result = new PumpEnactResult();
+ result.success = true;
+ result.bolusDelivered = insulin;
+ result.carbsDelivered = carbs;
}
mWakeLock.release();
return result;
}
@Override
- public PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context) {
- return deliverTreatment(insulin, carbs, context, true);
+ public PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context) {
+ return deliverTreatment(insulinType, insulin, carbs, context, true);
}
- public PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context, boolean createTreatment) {
+ public PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context, boolean createTreatment) {
mWakeLock.acquire();
- insulin = applyBolusConstraints(insulin);
- carbs = applyCarbsConstraints(carbs);
+ PumpEnactResult result;
+ if (activePump != null) {
+ insulin = applyBolusConstraints(insulin);
+ carbs = applyCarbsConstraints(carbs);
- BolusProgressDialog bolusProgressDialog = null;
- if (context != null ) {
- bolusProgressDialog = new BolusProgressDialog();
- bolusProgressDialog.setInsulin(insulin);
- bolusProgressDialog.show(((AppCompatActivity) context).getSupportFragmentManager(), "BolusProgress");
- } else {
- Intent i = new Intent();
- i.putExtra("insulin", insulin.doubleValue());
- i.setClass(MainApp.instance(), BolusProgressHelperActivity.class);
- i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- MainApp.instance().startActivity(i);
- }
-
- MainApp.bus().post(new EventBolusRequested(insulin));
-
- PumpEnactResult result = activePump.deliverTreatment(insulin, carbs, context);
-
- BolusProgressDialog.bolusEnded = true;
-
- if (bolusProgressDialog != null && BolusProgressDialog.running) {
- try {
- bolusProgressDialog.dismiss();
- } catch (Exception e) {
- e.printStackTrace(); // TODO: handle this better
+ BolusProgressDialog bolusProgressDialog = null;
+ if (context != null) {
+ bolusProgressDialog = new BolusProgressDialog();
+ bolusProgressDialog.setInsulin(insulin);
+ bolusProgressDialog.show(((AppCompatActivity) context).getSupportFragmentManager(), "BolusProgress");
+ } else {
+ Intent i = new Intent();
+ i.putExtra("insulin", insulin.doubleValue());
+ i.setClass(MainApp.instance(), BolusProgressHelperActivity.class);
+ i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ MainApp.instance().startActivity(i);
}
- }
- if (Config.logCongigBuilderActions)
- log.debug("deliverTreatment insulin: " + insulin + " carbs: " + carbs + " success: " + result.success + " enacted: " + result.enacted + " bolusDelivered: " + result.bolusDelivered);
+ MainApp.bus().post(new EventBolusRequested(insulin));
- if (result.success && createTreatment) {
- Treatment t = new Treatment();
- t.insulin = result.bolusDelivered;
- t.carbs = (double) result.carbsDelivered;
+ result = activePump.deliverTreatment(insulinType, insulin, carbs, context);
+
+ BolusProgressDialog.bolusEnded = true;
+
+ MainApp.bus().post(new EventDismissBolusprogressIfRunning(result));
+
+ if (Config.logCongigBuilderActions)
+ log.debug("deliverTreatment insulin: " + insulin + " carbs: " + carbs + " success: " + result.success + " enacted: " + result.enacted + " bolusDelivered: " + result.bolusDelivered);
+
+ if (result.success && createTreatment) {
+ Treatment t = new Treatment(insulinType);
+ t.insulin = result.bolusDelivered;
+ t.carbs = (double) result.carbsDelivered;
+ t.created_at = new Date();
+ t.mealBolus = t.carbs > 0;
+ MainApp.getDbHelper().create(t);
+ t.setTimeIndex(t.getTimeIndex());
+ t.sendToNSClient();
+ }
+ } else {
+ if (Config.logCongigBuilderActions)
+ log.debug("Creating treatment: " + insulin + " carbs: " + carbs);
+ Treatment t = new Treatment(insulinType);
+ t.insulin = insulin;
+ t.carbs = (double) carbs;
t.created_at = new Date();
t.mealBolus = t.carbs > 0;
MainApp.getDbHelper().create(t);
t.setTimeIndex(t.getTimeIndex());
t.sendToNSClient();
+ result = new PumpEnactResult();
+ result.success = true;
+ result.bolusDelivered = insulin;
+ result.carbsDelivered = carbs;
}
mWakeLock.release();
return result;
@@ -682,7 +761,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
public String deviceID() {
if (activePump != null)
return activePump.deviceID();
- else return "Unknown";
+ else return "No Pump active!";
}
@Override
@@ -825,11 +904,6 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
return maxIobAfterConstrain;
}
- @Subscribe
- public void onStatusEvent(final EventNewBG ev) {
- uploadDeviceStatus(120);
- }
-
public void uploadTempBasalStartAbsolute(Double absolute, double durationInMinutes) {
try {
Context context = MainApp.instance().getApplicationContext();
@@ -933,7 +1007,7 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
}
}
- public void doUploadDeviceStatus() {
+ public void uploadDeviceStatus() {
DeviceStatus deviceStatus = new DeviceStatus();
try {
LoopPlugin.LastRun lastRun = LoopPlugin.lastRun;
@@ -966,39 +1040,27 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
requested.put("temp", "absolute");
deviceStatus.enacted.put("requested", requested);
}
+ } else {
+ log.debug("OpenAPS data too old to upload");
}
if (activePump != null) {
deviceStatus.device = "openaps://" + deviceID();
JSONObject pumpstatus = getJSONStatus();
if (pumpstatus != null) {
- deviceStatus.pump = getJSONStatus();
+ deviceStatus.pump = pumpstatus;
}
-
- deviceStatus.created_at = DateUtil.toISOString(new Date());
-
- deviceStatus.sendToNSClient();
}
+
+ int batteryLevel = BatteryLevel.getBatteryLevel();
+ deviceStatus.uploaderBattery = batteryLevel;
+
+ deviceStatus.created_at = DateUtil.toISOString(new Date());
+ deviceStatus.sendToNSClient();
} catch (JSONException e) {
e.printStackTrace();
}
}
- static public void uploadDeviceStatus(int sec) {
- class PostRunnable implements Runnable {
- public void run() {
- MainApp.getConfigBuilder().doUploadDeviceStatus();
- scheduledPost = null;
- }
- }
- // prepare task for execution
- // cancel waiting task to prevent sending multiple posts
- if (scheduledPost != null)
- scheduledPost.cancel(false);
- Runnable task = new PostRunnable();
- scheduledPost = worker.schedule(task, sec, TimeUnit.SECONDS);
- log.debug("Scheduling devicestatus upload in " + sec + " sec");
- }
-
public void uploadBolusWizardRecord(Treatment t, double glucose, String glucoseType, int carbTime, JSONObject boluscalc) {
JSONObject data = new JSONObject();
try {
@@ -1088,24 +1150,26 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
}
public void uploadAppStart() {
- Context context = MainApp.instance().getApplicationContext();
- Bundle bundle = new Bundle();
- bundle.putString("action", "dbAdd");
- bundle.putString("collection", "treatments");
- JSONObject data = new JSONObject();
- try {
- data.put("eventType", "Note");
- data.put("created_at", DateUtil.toISOString(new Date()));
- data.put("notes", MainApp.sResources.getString(R.string.androidaps_start));
- } catch (JSONException e) {
- e.printStackTrace();
+ if (SP.getBoolean(R.string.key_ns_logappstartedevent, true)) {
+ Context context = MainApp.instance().getApplicationContext();
+ Bundle bundle = new Bundle();
+ bundle.putString("action", "dbAdd");
+ bundle.putString("collection", "treatments");
+ JSONObject data = new JSONObject();
+ try {
+ data.put("eventType", "Note");
+ data.put("created_at", DateUtil.toISOString(new Date()));
+ data.put("notes", MainApp.sResources.getString(R.string.androidaps_start));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ bundle.putString("data", data.toString());
+ Intent intent = new Intent(Intents.ACTION_DATABASE);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ DbLogger.dbAdd(intent, data.toString(), ConfigBuilderPlugin.class);
}
- bundle.putString("data", data.toString());
- Intent intent = new Intent(Intents.ACTION_DATABASE);
- intent.putExtras(bundle);
- intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
- context.sendBroadcast(intent);
- DbLogger.dbAdd(intent, data.toString(), ConfigBuilderPlugin.class);
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Objectives/ObjectivesFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/Objectives/ObjectivesFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java
index 2321d8a955..3334267057 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Objectives/ObjectivesFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.Objectives;
+package info.nightscout.androidaps.plugins.ConstraintsObjectives;
import android.app.Activity;
import android.content.Context;
@@ -7,7 +7,6 @@ import android.support.v4.app.Fragment;
import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
-import android.text.Layout;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
@@ -24,9 +23,8 @@ import java.util.List;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-public class ObjectivesFragment extends Fragment implements View.OnClickListener, FragmentBase {
+public class ObjectivesFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(ObjectivesFragment.class);
private static ObjectivesPlugin objectivesPlugin;
@@ -44,15 +42,6 @@ public class ObjectivesFragment extends Fragment implements View.OnClickListener
LinearLayout fake_layout;
TextView reset;
- @Override
- public void onClick(View v) {
- int id = v.getId();
- switch (id) {
- default:
- break;
- }
- }
-
public class RecyclerViewAdapter extends RecyclerView.Adapter {
List objectives;
@@ -237,16 +226,4 @@ public class ObjectivesFragment extends Fragment implements View.OnClickListener
});
}
- @Override
- public void onPause() {
- super.onPause();
- MainApp.bus().unregister(this);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- MainApp.bus().register(this);
- }
-
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Objectives/ObjectivesPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java
similarity index 91%
rename from app/src/main/java/info/nightscout/androidaps/plugins/Objectives/ObjectivesPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java
index 030878b6e9..b6f4e57acd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Objectives/ObjectivesPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsObjectives/ObjectivesPlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.Objectives;
+package info.nightscout.androidaps.plugins.ConstraintsObjectives;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
@@ -16,7 +16,7 @@ import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -76,6 +76,16 @@ public class ObjectivesPlugin implements PluginBase, ConstraintsInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
}
@@ -152,7 +162,7 @@ public class ObjectivesPlugin implements PluginBase, ConstraintsInterface {
MainApp.sResources.getString(R.string.objectives_0_objective),
MainApp.sResources.getString(R.string.objectives_0_gate),
new Date(0),
- 1, // 1 day
+ 0, // 0 day
new Date(0)));
objectives.add(new Objective(1,
MainApp.sResources.getString(R.string.objectives_1_objective),
@@ -211,20 +221,19 @@ public class ObjectivesPlugin implements PluginBase, ConstraintsInterface {
}
void loadProgress() {
- SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
for (int num = 0; num < objectives.size(); num++) {
Objective o = objectives.get(num);
try {
- o.started = new Date(SafeParse.stringToLong(settings.getString("Objectives" + num + "started", "0")));
- o.accomplished = new Date(SafeParse.stringToLong(settings.getString("Objectives" + num + "accomplished", "0")));
+ o.started = new Date(SP.getLong("Objectives" + num + "started", 0L));
+ o.accomplished = new Date(SP.getLong("Objectives" + num + "accomplished", 0L));
} catch (Exception e) {
e.printStackTrace();
}
}
- bgIsAvailableInNS = settings.getBoolean("Objectives" + "bgIsAvailableInNS", false);
- pumpStatusIsAvailableInNS = settings.getBoolean("Objectives" + "pumpStatusIsAvailableInNS", false);
+ bgIsAvailableInNS = SP.getBoolean("Objectives" + "bgIsAvailableInNS", false);
+ pumpStatusIsAvailableInNS = SP.getBoolean("Objectives" + "pumpStatusIsAvailableInNS", false);
try {
- manualEnacts = SafeParse.stringToInt(settings.getString("Objectives" + "manualEnacts", "0"));
+ manualEnacts = SP.getInt("Objectives" + "manualEnacts", 0);
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SafetyFragment/SafetyFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyFragment.java
similarity index 63%
rename from app/src/main/java/info/nightscout/androidaps/plugins/SafetyFragment/SafetyFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyFragment.java
index 5742249206..07583e7622 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SafetyFragment/SafetyFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.SafetyFragment;
+package info.nightscout.androidaps.plugins.ConstraintsSafety;
import android.support.v4.app.Fragment;
@@ -6,9 +6,7 @@ import android.support.v4.app.Fragment;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-
-public class SafetyFragment extends Fragment implements FragmentBase{
+public class SafetyFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(SafetyFragment.class);
private static SafetyPlugin safetyPlugin = new SafetyPlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SafetyFragment/SafetyPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java
similarity index 79%
rename from app/src/main/java/info/nightscout/androidaps/plugins/SafetyFragment/SafetyPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java
index d9bff5a4cd..cdf7f554ee 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SafetyFragment/SafetyPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ConstraintsSafety/SafetyPlugin.java
@@ -1,7 +1,4 @@
-package info.nightscout.androidaps.plugins.SafetyFragment;
-
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
+package info.nightscout.androidaps.plugins.ConstraintsSafety;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -13,9 +10,10 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.HardLimits;
import info.nightscout.utils.Round;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -59,6 +57,16 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return false;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
@@ -78,7 +86,6 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
**/
@Override
public boolean isClosedModeEnabled() {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
String mode = SP.getString("aps_mode", "open");
return mode.equals("closed") && BuildConfig.CLOSEDLOOP;
}
@@ -96,15 +103,14 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
@Override
public Double applyBasalConstraints(Double absoluteRate) {
Double origAbsoluteRate = absoluteRate;
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- Double maxBasal = SafeParse.stringToDouble(SP.getString("openapsma_max_basal", "1"));
+ Double maxBasal = SP.getDouble("openapsma_max_basal", 1d);
NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
if (profile == null) return absoluteRate;
if (absoluteRate < 0) absoluteRate = 0d;
- Integer maxBasalMult = SafeParse.stringToInt(SP.getString("openapsama_current_basal_safety_multiplier", "4"));
- Integer maxBasalFromDaily = SafeParse.stringToInt(SP.getString("openapsama_max_daily_safety_multiplier", "3"));
+ Integer maxBasalMult = SP.getInt("openapsama_current_basal_safety_multiplier", 4);
+ Integer maxBasalFromDaily = SP.getInt("openapsama_max_daily_safety_multiplier", 3);
// Check percentRate but absolute rate too, because we know real current basal in pump
Double origRate = absoluteRate;
if (absoluteRate > maxBasal) {
@@ -128,8 +134,7 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
@Override
public Integer applyBasalConstraints(Integer percentRate) {
Integer origPercentRate = percentRate;
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- Double maxBasal = SafeParse.stringToDouble(SP.getString("openapsma_max_basal", "1"));
+ Double maxBasal = SP.getDouble("openapsma_max_basal", 1d);
NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
if (profile == null) return percentRate;
@@ -142,8 +147,8 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
if (absoluteRate < 0) absoluteRate = 0d;
- Integer maxBasalMult = SafeParse.stringToInt(SP.getString("openapsama_current_basal_safety_multiplier", "4"));
- Integer maxBasalFromDaily = SafeParse.stringToInt(SP.getString("openapsama_max_daily_safety_multiplier", "3"));
+ Integer maxBasalMult = SP.getInt("openapsama_current_basal_safety_multiplier", 4);
+ Integer maxBasalFromDaily = SP.getInt("openapsama_max_daily_safety_multiplier", 3);
// Check percentRate but absolute rate too, because we know real current basal in pump
Double origRate = absoluteRate;
if (absoluteRate > maxBasal) {
@@ -174,24 +179,22 @@ public class SafetyPlugin implements PluginBase, ConstraintsInterface {
@Override
public Double applyBolusConstraints(Double insulin) {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
try {
- Double maxBolus = SafeParse.stringToDouble(SP.getString("treatmentssafety_maxbolus", "3"));
+ Double maxBolus = SP.getDouble("treatmentssafety_maxbolus", 3d);
if (insulin < 0) insulin = 0d;
if (insulin > maxBolus) insulin = maxBolus;
} catch (Exception e) {
insulin = 0d;
}
- if (insulin > BuildConfig.MAXBOLUS) insulin = Double.valueOf(BuildConfig.MAXBOLUS);
+ if (insulin > HardLimits.maxBolus()) insulin = HardLimits.maxBolus();
return insulin;
}
@Override
public Integer applyCarbsConstraints(Integer carbs) {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
try {
- Integer maxCarbs = SafeParse.stringToInt(SP.getString("treatmentssafety_maxcarbs", "48"));
+ Integer maxCarbs = SP.getInt("treatmentssafety_maxcarbs", 48);
if (carbs < 0) carbs = 0;
if (carbs > maxCarbs) carbs = maxCarbs;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRConnectionStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRConnectionStatus.java
deleted file mode 100644
index fef8868d2b..0000000000
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRConnectionStatus.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package info.nightscout.androidaps.plugins.DanaR.events;
-
-public class EventDanaRConnectionStatus {
- public static final int CONNECTING = 0;
- public static final int CONNECTED = 1;
- public static final int DISCONNECTED = 2;
- public static final int PERFORMING = 3;
-
- public int sStatus = DISCONNECTED;
- public int sSecondsElapsed = 0;
- public String sAction = "";
-
- public EventDanaRConnectionStatus(int status, int secondsElapsed) {
- sStatus = status;
- sSecondsElapsed = secondsElapsed;
- }
-
- public EventDanaRConnectionStatus(int status, int secondsElapsed, String action) {
- sStatus = status;
- sSecondsElapsed = secondsElapsed;
- sAction = action;
- }
-}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/ActivityGraph.java b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/ActivityGraph.java
new file mode 100644
index 0000000000..abc768afdc
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/ActivityGraph.java
@@ -0,0 +1,78 @@
+package info.nightscout.androidaps.plugins.InsulinFastacting;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.util.AttributeSet;
+
+import com.jjoe64.graphview.GraphView;
+import com.jjoe64.graphview.series.DataPoint;
+import com.jjoe64.graphview.series.LineGraphSeries;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+import info.nightscout.androidaps.data.Iob;
+import info.nightscout.androidaps.db.Treatment;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
+import info.nightscout.androidaps.plugins.Overview.graphExtensions.TimeAsXAxisLabelFormatter;
+
+/**
+ * Created by mike on 21.04.2017.
+ */
+
+public class ActivityGraph extends GraphView {
+
+ Context context;
+
+ public ActivityGraph(Context context) {
+ super(context);
+ this.context = context;
+ }
+
+ public ActivityGraph(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ this.context = context;
+ }
+
+ public void show(InsulinInterface insulin) {
+ double dia = insulin.getDia();
+ int hours = (int) Math.floor(dia + 1);
+
+ Treatment t = new Treatment(insulin);
+ t.created_at = new Date(0);
+ t.timeIndex = 0;
+ t.insulin = 1d;
+
+ LineGraphSeries activitySeries = null;
+ LineGraphSeries iobSeries = null;
+ List activityArray = new ArrayList();
+ List iobArray = new ArrayList();
+
+ for (long time = 0; time <= hours * 60 * 60 * 1000; time += 5 * 60 * 1000L) {
+ Iob iob = insulin.iobCalc(t, time, dia);
+ activityArray.add(new DataPoint(time / 60 / 1000, iob.activityContrib));
+ iobArray.add(new DataPoint(time / 60 / 1000, iob.iobContrib));
+ }
+
+ DataPoint[] activityDataPoints = new DataPoint[activityArray.size()];
+ activityDataPoints = activityArray.toArray(activityDataPoints);
+ addSeries(activitySeries = new LineGraphSeries(activityDataPoints));
+ activitySeries.setThickness(8);
+
+ getViewport().setXAxisBoundsManual(true);
+ getViewport().setMinX(0);
+ getViewport().setMaxX(hours * 60);
+ getGridLabelRenderer().setNumHorizontalLabels(hours + 1);
+ getGridLabelRenderer().setHorizontalAxisTitle("[min]");
+
+ DataPoint[] iobDataPoints = new DataPoint[iobArray.size()];
+ iobDataPoints = iobArray.toArray(iobDataPoints);
+ getSecondScale().addSeries(iobSeries = new LineGraphSeries(iobDataPoints));
+ iobSeries.setDrawBackground(true);
+ iobSeries.setColor(Color.MAGENTA);
+ iobSeries.setBackgroundColor(Color.argb(70, 255, 0, 255));
+ getSecondScale().setMinY(0);
+ getSecondScale().setMaxY(1);
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/InsulinFastactingFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/InsulinFastactingFragment.java
new file mode 100644
index 0000000000..a99e016621
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/InsulinFastactingFragment.java
@@ -0,0 +1,46 @@
+package info.nightscout.androidaps.plugins.InsulinFastacting;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+
+/**
+ * Created by mike on 17.04.2017.
+ */
+
+public class InsulinFastactingFragment extends Fragment {
+ static InsulinFastactingPlugin insulinFastactingPlugin = new InsulinFastactingPlugin();
+
+ static public InsulinFastactingPlugin getPlugin() {
+ return insulinFastactingPlugin;
+ }
+
+ TextView insulinName;
+ TextView insulinComment;
+ TextView insulinDia;
+ ActivityGraph insulinGraph;
+
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.insulin_fragment, container, false);
+
+ insulinName = (TextView) view.findViewById(R.id.insulin_name);
+ insulinComment = (TextView) view.findViewById(R.id.insulin_comment);
+ insulinDia = (TextView) view.findViewById(R.id.insulin_dia);
+ insulinGraph = (ActivityGraph) view.findViewById(R.id.insuling_graph);
+
+ insulinName.setText(insulinFastactingPlugin.getFriendlyName());
+ insulinComment.setText(insulinFastactingPlugin.getComment());
+ insulinDia.setText(MainApp.sResources.getText(R.string.dia) + " " + new Double(insulinFastactingPlugin.getDia()).toString() + "h");
+ insulinGraph.show(insulinFastactingPlugin);
+
+ return view;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/InsulinFastactingPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/InsulinFastactingPlugin.java
new file mode 100644
index 0000000000..9773c20f55
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastacting/InsulinFastactingPlugin.java
@@ -0,0 +1,129 @@
+package info.nightscout.androidaps.plugins.InsulinFastacting;
+
+import java.util.Date;
+
+import info.nightscout.androidaps.Constants;
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.data.Iob;
+import info.nightscout.androidaps.db.Treatment;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.interfaces.ProfileInterface;
+
+/**
+ * Created by mike on 17.04.2017.
+ */
+
+public class InsulinFastactingPlugin implements PluginBase, InsulinInterface {
+
+ private static boolean fragmentEnabled = true;
+ private static boolean fragmentVisible = false;
+
+ @Override
+ public int getType() {
+ return INSULIN;
+ }
+
+ @Override
+ public String getFragmentClass() {
+ return InsulinFastactingFragment.class.getName();
+ }
+
+ @Override
+ public String getName() {
+ return MainApp.sResources.getString(R.string.fastactinginsulin);
+ }
+
+ @Override
+ public String getNameShort() {
+ return MainApp.sResources.getString(R.string.insulin_shortname);
+ }
+
+ @Override
+ public boolean isEnabled(int type) {
+ return type == INSULIN && fragmentEnabled;
+ }
+
+ @Override
+ public boolean isVisibleInTabs(int type) {
+ return type == INSULIN && fragmentVisible;
+ }
+
+ @Override
+ public boolean canBeHidden(int type) {
+ return true;
+ }
+
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
+ @Override
+ public void setFragmentEnabled(int type, boolean fragmentEnabled) {
+ if (type == INSULIN) this.fragmentEnabled = fragmentEnabled;
+ }
+
+ @Override
+ public void setFragmentVisible(int type, boolean fragmentVisible) {
+ if (type == INSULIN) this.fragmentVisible = fragmentVisible;
+ }
+
+ // Insulin interface
+ @Override
+ public int getId() {
+ return FASTACTINGINSULIN;
+ }
+
+ @Override
+ public String getFriendlyName() {
+ return MainApp.sResources.getString(R.string.fastactinginsulin);
+ }
+
+ @Override
+ public String getComment() {
+ return MainApp.sResources.getString(R.string.fastactinginsulincomment);
+ }
+
+ @Override
+ public double getDia() {
+ ProfileInterface profileInterface = MainApp.getConfigBuilder().getActiveProfile();
+ if (profileInterface.getProfile() != null)
+ return profileInterface.getProfile().getDia();
+ return Constants.defaultDIA;
+ }
+
+ @Override
+ public Iob iobCalc(Treatment treatment, long time, Double dia) {
+ Iob result = new Iob();
+
+ Double scaleFactor = 3.0 / dia;
+ Double peak = 75d;
+ Double end = 180d;
+
+ if (treatment.insulin != 0d) {
+ Long bolusTime = treatment.created_at.getTime();
+ Double minAgo = scaleFactor * (time - bolusTime) / 1000d / 60d;
+
+ if (minAgo < peak) {
+ Double x1 = minAgo / 5d + 1;
+ result.iobContrib = treatment.insulin * (1 - 0.001852 * x1 * x1 + 0.001852 * x1);
+ // units: BG (mg/dL) = (BG/U) * U insulin * scalar
+ result.activityContrib = treatment.insulin * (2 / dia / 60 / peak) * minAgo;
+
+ } else if (minAgo < end) {
+ Double x2 = (minAgo - 75) / 5;
+ result.iobContrib = treatment.insulin * (0.001323 * x2 * x2 - 0.054233 * x2 + 0.55556);
+ result.activityContrib = treatment.insulin * (2 / dia / 60 - (minAgo - peak) * 2 / dia / 60 / (60 * 3 - peak));
+ }
+ }
+ return result;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastactingProlonged/InsulinFastactingProlongedFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastactingProlonged/InsulinFastactingProlongedFragment.java
new file mode 100644
index 0000000000..acc915b001
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastactingProlonged/InsulinFastactingProlongedFragment.java
@@ -0,0 +1,47 @@
+package info.nightscout.androidaps.plugins.InsulinFastactingProlonged;
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.plugins.InsulinFastacting.ActivityGraph;
+
+/**
+ * Created by mike on 17.04.2017.
+ */
+
+public class InsulinFastactingProlongedFragment extends Fragment {
+ static InsulinFastactingProlongedPlugin insulinFastactingProlongedPlugin = new InsulinFastactingProlongedPlugin();
+
+ static public InsulinFastactingProlongedPlugin getPlugin() {
+ return insulinFastactingProlongedPlugin;
+ }
+
+ TextView insulinName;
+ TextView insulinComment;
+ TextView insulinDia;
+ ActivityGraph insulinGraph;
+
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.insulin_fragment, container, false);
+
+ insulinName = (TextView) view.findViewById(R.id.insulin_name);
+ insulinComment = (TextView) view.findViewById(R.id.insulin_comment);
+ insulinDia = (TextView) view.findViewById(R.id.insulin_dia);
+ insulinGraph = (ActivityGraph) view.findViewById(R.id.insuling_graph);
+
+ insulinName.setText(insulinFastactingProlongedPlugin.getFriendlyName());
+ insulinComment.setText(insulinFastactingProlongedPlugin.getComment());
+ insulinDia.setText(MainApp.sResources.getText(R.string.dia) + " " + new Double(insulinFastactingProlongedPlugin.getDia()).toString() + "h");
+ insulinGraph.show(insulinFastactingProlongedPlugin);
+
+ return view;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastactingProlonged/InsulinFastactingProlongedPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastactingProlonged/InsulinFastactingProlongedPlugin.java
new file mode 100644
index 0000000000..58d644043c
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/InsulinFastactingProlonged/InsulinFastactingProlongedPlugin.java
@@ -0,0 +1,134 @@
+package info.nightscout.androidaps.plugins.InsulinFastactingProlonged;
+
+import java.util.Date;
+
+import info.nightscout.androidaps.Constants;
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.data.Iob;
+import info.nightscout.androidaps.db.Treatment;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.interfaces.ProfileInterface;
+
+/**
+ * Created by mike on 17.04.2017.
+ */
+
+public class InsulinFastactingProlongedPlugin implements PluginBase, InsulinInterface {
+
+ private static boolean fragmentEnabled = false;
+ private static boolean fragmentVisible = false;
+
+ @Override
+ public int getType() {
+ return INSULIN;
+ }
+
+ @Override
+ public String getFragmentClass() {
+ return InsulinFastactingProlongedFragment.class.getName();
+ }
+
+ @Override
+ public String getName() {
+ return MainApp.sResources.getString(R.string.fastactinginsulinprolonged);
+ }
+
+ @Override
+ public String getNameShort() {
+ return MainApp.sResources.getString(R.string.insulin_shortname);
+ }
+
+ @Override
+ public boolean isEnabled(int type) {
+ return type == INSULIN && fragmentEnabled;
+ }
+
+ @Override
+ public boolean isVisibleInTabs(int type) {
+ return type == INSULIN && fragmentVisible;
+ }
+
+ @Override
+ public boolean canBeHidden(int type) {
+ return true;
+ }
+
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
+ @Override
+ public void setFragmentEnabled(int type, boolean fragmentEnabled) {
+ if (type == INSULIN) this.fragmentEnabled = fragmentEnabled;
+ }
+
+ @Override
+ public void setFragmentVisible(int type, boolean fragmentVisible) {
+ if (type == INSULIN) this.fragmentVisible = fragmentVisible;
+ }
+
+ // Insulin interface
+ @Override
+ public int getId() {
+ return FASTACTINGINSULINPROLONGED;
+ }
+
+ @Override
+ public String getFriendlyName() {
+ return MainApp.sResources.getString(R.string.fastactinginsulinprolonged);
+ }
+
+ @Override
+ public String getComment() {
+ return MainApp.sResources.getString(R.string.fastactinginsulincomment);
+ }
+
+ @Override
+ public double getDia() {
+ ProfileInterface profileInterface = MainApp.getConfigBuilder().getActiveProfile();
+ if (profileInterface.getProfile() != null)
+ return profileInterface.getProfile().getDia();
+ return Constants.defaultDIA;
+ }
+
+ @Override
+ public Iob iobCalc(Treatment treatment, long time, Double dia) {
+ Iob result = new Iob();
+
+ //Double scaleFactor = 3.0 / dia;
+ Double peak = 75d * dia / 6.0;
+ Double tail = 180d * dia / 6.0;
+ Double end = 360d * dia / 6.0;
+ Double Total = 2 * peak + (tail - peak) * 5 / 2 + (end - tail) / 2;
+
+ if (treatment.insulin != 0d) {
+ Long bolusTime = treatment.created_at.getTime();
+ Double minAgo = (time - bolusTime) / 1000d / 60d;
+
+ if (minAgo < peak) {
+ Double x1 = 6 / dia * minAgo / 5d + 1;
+ result.iobContrib = treatment.insulin * (1 - 0.0012595 * x1 * x1 + 0.0012595 * x1);
+ // units: BG (mg/dL) = (BG/U) * U insulin * scalar
+ result.activityContrib = treatment.insulin * ((2 * peak / Total) * 2 / peak / peak * minAgo);
+ } else if (minAgo < tail) {
+ Double x2 = (6 / dia * (minAgo - peak)) / 5;
+ result.iobContrib = treatment.insulin * (0.00074 * x2 * x2 - 0.0403 * x2 + 0.69772);
+ result.activityContrib = treatment.insulin * (-((2 * peak / Total) * 2 / peak * 3 / 4) / (tail - peak) * (minAgo - peak) + (2 * peak / Total) * 2 / peak);
+ } else if (minAgo < end) {
+ Double x3 = (6 / dia * (minAgo - tail)) / 5;
+ result.iobContrib = treatment.insulin * (0.0001323 * x3 * x3 - 0.0097 * x3 + 0.17776);
+ result.activityContrib = treatment.insulin * (-((2 * peak / Total) * 2 / peak * 1 / 4) / (end - tail) * (minAgo - tail) + (2 * peak / Total) * 2 / peak / 4);
+ }
+
+ }
+ return result;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java
new file mode 100644
index 0000000000..7210a171b6
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensData.java
@@ -0,0 +1,22 @@
+package info.nightscout.androidaps.plugins.IobCobCalculator;
+
+import java.util.Date;
+
+/**
+ * Created by mike on 25.04.2017.
+ */
+
+public class AutosensData {
+ long time = 0L;
+ String pastSensitivity = "";
+ double deviation = 0d;
+ boolean calculateWithDeviation = false;
+ double absorbed = 0d;
+ double carbsFromBolus = 0d;
+ public double cob = 0;
+
+ public String log(long time) {
+ return "AutosensData: " + new Date(time).toLocaleString() + " " + pastSensitivity + " Deviation=" + deviation + " Absorbed=" + absorbed + " CarbsFromBolus=" + carbsFromBolus + " COB=" + cob;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/AutosensResult.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/AutosensResult.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java
index 811fee0f39..1e40005b36 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/AutosensResult.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.OpenAPSAMA;
+package info.nightscout.androidaps.plugins.IobCobCalculator;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorFragment.java
new file mode 100644
index 0000000000..db1db95998
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorFragment.java
@@ -0,0 +1,16 @@
+package info.nightscout.androidaps.plugins.IobCobCalculator;
+
+import android.support.v4.app.Fragment;
+
+/**
+ * Created by adrian on 17/11/16.
+ */
+
+public class IobCobCalculatorFragment extends Fragment {
+
+ private static IobCobCalculatorPlugin iobCobCalculatorPlugin = new IobCobCalculatorPlugin();
+
+ public static IobCobCalculatorPlugin getPlugin() {
+ return iobCobCalculatorPlugin;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java
new file mode 100644
index 0000000000..4941639528
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java
@@ -0,0 +1,571 @@
+package info.nightscout.androidaps.plugins.IobCobCalculator;
+
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.support.annotation.Nullable;
+import android.support.v4.util.LongSparseArray;
+
+import com.squareup.otto.Subscribe;
+
+import org.json.JSONArray;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+import info.nightscout.androidaps.Config;
+import info.nightscout.androidaps.Constants;
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.data.IobTotal;
+import info.nightscout.androidaps.db.BgReading;
+import info.nightscout.androidaps.db.Treatment;
+import info.nightscout.androidaps.events.EventNewBG;
+import info.nightscout.androidaps.events.EventNewBasalProfile;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.interfaces.TreatmentsInterface;
+import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished;
+import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventNewHistoryData;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.Round;
+import info.nightscout.utils.SP;
+import info.nightscout.utils.SafeParse;
+
+/**
+ * Created by mike on 24.04.2017.
+ */
+
+public class IobCobCalculatorPlugin implements PluginBase {
+ private static Logger log = LoggerFactory.getLogger(IobCobCalculatorPlugin.class);
+
+ private static LongSparseArray iobTable = new LongSparseArray<>(); // oldest at index 0
+ private static LongSparseArray autosensDataTable = new LongSparseArray<>(); // oldest at index 0
+
+ private static volatile List bgReadings = null; // newest at index 0
+ private static volatile List bucketed_data = null;
+
+ private static double dia = Constants.defaultDIA;
+
+ private static Handler sHandler = null;
+ private static HandlerThread sHandlerThread = null;
+
+ private static Object dataLock = new Object();
+
+ @Override
+ public int getType() {
+ return GENERAL;
+ }
+
+ @Override
+ public String getFragmentClass() {
+ return IobCobCalculatorFragment.class.getName();
+ }
+
+ @Override
+ public String getName() {
+ return "IOB COB Calculator";
+ }
+
+ @Override
+ public String getNameShort() {
+ return "IOC";
+ }
+
+ @Override
+ public boolean isEnabled(int type) {
+ return type == GENERAL;
+ }
+
+ @Override
+ public boolean isVisibleInTabs(int type) {
+ return false;
+ }
+
+ @Override
+ public boolean canBeHidden(int type) {
+ return false;
+ }
+
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return false;
+ }
+
+ @Override
+ public void setFragmentEnabled(int type, boolean fragmentEnabled) {
+
+ }
+
+ @Override
+ public void setFragmentVisible(int type, boolean fragmentVisible) {
+
+ }
+
+ public IobCobCalculatorPlugin() {
+ MainApp.bus().register(this);
+ if (sHandlerThread == null) {
+ sHandlerThread = new HandlerThread(IobCobCalculatorPlugin.class.getSimpleName());
+ sHandlerThread.start();
+ sHandler = new Handler(sHandlerThread.getLooper());
+ }
+ onNewBg(new EventNewBG());
+ }
+
+ @Nullable
+ public static List getBucketedData(long fromTime) {
+ //log.debug("Locking getBucketedData");
+ synchronized (dataLock) {
+ if (bucketed_data == null) {
+ log.debug("No bucketed data available");
+ return null;
+ }
+ int index = indexNewerThan(fromTime);
+ if (index > -1) {
+ List part = bucketed_data.subList(0, index);
+ log.debug("Bucketed data striped off: " + part.size() + "/" + bucketed_data.size());
+ return part;
+ }
+ }
+ //log.debug("Releasing getBucketedData");
+ return null;
+ }
+
+ private static int indexNewerThan(long time) {
+ for (int index = 0; index < bucketed_data.size(); index++) {
+ if (bucketed_data.get(index).timeIndex < time)
+ return index - 1;
+ }
+ return -1;
+ }
+
+ public static long roundUpTime(long time) {
+ if (time % 60000 == 0)
+ return time;
+ long rouded = (time / 60000 + 1) * 60000;
+ return rouded;
+ }
+
+ private void loadBgData() {
+ //log.debug("Locking loadBgData");
+ synchronized (dataLock) {
+ onNewProfile(new EventNewBasalProfile(null));
+ bgReadings = MainApp.getDbHelper().getBgreadingsDataFromTime((long) (new Date().getTime() - 60 * 60 * 1000L * (24 + dia)), false);
+ log.debug("BG data loaded. Size: " + bgReadings.size());
+ }
+ //log.debug("Releasing loadBgData");
+ }
+
+ public void createBucketedData() {
+ //log.debug("Locking createBucketedData");
+ synchronized (dataLock) {
+ if (bgReadings == null || bgReadings.size() < 3) {
+ bucketed_data = null;
+ return;
+ }
+
+ bucketed_data = new ArrayList<>();
+ bucketed_data.add(bgReadings.get(0));
+ int j = 0;
+ for (int i = 1; i < bgReadings.size(); ++i) {
+ long bgTime = bgReadings.get(i).getTimeIndex();
+ long lastbgTime = bgReadings.get(i - 1).getTimeIndex();
+ //log.error("Processing " + i + ": " + new Date(bgTime).toString() + " " + bgReadings.get(i).value + " Previous: " + new Date(lastbgTime).toString() + " " + bgReadings.get(i - 1).value);
+ if (bgReadings.get(i).value < 39 || bgReadings.get(i - 1).value < 39) {
+ continue;
+ }
+
+ long elapsed_minutes = (bgTime - lastbgTime) / (60 * 1000);
+ if (Math.abs(elapsed_minutes) > 8) {
+ // interpolate missing data points
+ double lastbg = bgReadings.get(i - 1).value;
+ elapsed_minutes = Math.abs(elapsed_minutes);
+ //console.error(elapsed_minutes);
+ long nextbgTime;
+ while (elapsed_minutes > 5) {
+ nextbgTime = lastbgTime - 5 * 60 * 1000;
+ j++;
+ BgReading newBgreading = new BgReading();
+ newBgreading.timeIndex = nextbgTime;
+ double gapDelta = bgReadings.get(i).value - lastbg;
+ //console.error(gapDelta, lastbg, elapsed_minutes);
+ double nextbg = lastbg + (5d / elapsed_minutes * gapDelta);
+ newBgreading.value = Math.round(nextbg);
+ //console.error("Interpolated", bucketed_data[j]);
+ bucketed_data.add(newBgreading);
+ //log.error("******************************************************************************************************* Adding:" + new Date(newBgreading.timeIndex).toString() + " " + newBgreading.value);
+
+ elapsed_minutes = elapsed_minutes - 5;
+ lastbg = nextbg;
+ lastbgTime = nextbgTime;
+ }
+ j++;
+ BgReading newBgreading = new BgReading();
+ newBgreading.value = bgReadings.get(i).value;
+ newBgreading.timeIndex = bgTime;
+ bucketed_data.add(newBgreading);
+ //log.error("******************************************************************************************************* Copying:" + new Date(newBgreading.timeIndex).toString() + " " + newBgreading.value);
+ } else if (Math.abs(elapsed_minutes) > 2) {
+ j++;
+ BgReading newBgreading = new BgReading();
+ newBgreading.value = bgReadings.get(i).value;
+ newBgreading.timeIndex = bgTime;
+ bucketed_data.add(newBgreading);
+ //log.error("******************************************************************************************************* Copying:" + new Date(newBgreading.timeIndex).toString() + " " + newBgreading.value);
+ } else {
+ bucketed_data.get(j).value = (bucketed_data.get(j).value + bgReadings.get(i).value) / 2;
+ //log.error("***** Average");
+ }
+ }
+ log.debug("Bucketed data created. Size: " + bucketed_data.size());
+ }
+ //log.debug("Releasing createBucketedData");
+ }
+
+ public void calculateSensitivityData() {
+ //log.debug("Locking calculateSensitivityData");
+ synchronized (dataLock) {
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile() != null ? ConfigBuilderPlugin.getActiveProfile().getProfile() : null;
+
+ if (profile == null) {
+ log.debug("calculateSensitivityData: No profile available");
+ return;
+ }
+
+ if (ConfigBuilderPlugin.getActiveTreatments() == null) {
+ log.debug("calculateSensitivityData: No treatments plugin");
+ return;
+ }
+
+ TreatmentsInterface treatmentsInterface = ConfigBuilderPlugin.getActiveTreatments();
+ if (bucketed_data == null || bucketed_data.size() < 3) {
+ log.debug("calculateSensitivityData: No bucketed data available");
+ return;
+ }
+
+ long prevDataTime = roundUpTime(bucketed_data.get(bucketed_data.size() - 3).timeIndex);
+ log.debug("Prev data time: " + new Date(prevDataTime).toLocaleString());
+ AutosensData previous = autosensDataTable.get(prevDataTime);
+ // start from oldest to be able sub cob
+ for (int i = bucketed_data.size() - 4; i >= 0; i--) {
+ // check if data already exists
+ long bgTime = bucketed_data.get(i).timeIndex;
+ bgTime = roundUpTime(bgTime);
+
+ AutosensData existing;
+ if ((existing = autosensDataTable.get(bgTime)) != null) {
+ previous = existing;
+ continue;
+ }
+
+ int secondsFromMidnight = NSProfile.secondsFromMidnight(bgTime);
+ double sens = NSProfile.toMgdl(profile.getIsf(secondsFromMidnight), profile.getUnits());
+
+ AutosensData autosensData = new AutosensData();
+ autosensData.time = bgTime;
+
+ //console.error(bgTime , bucketed_data[i].glucose);
+ double bg;
+ double avgDelta;
+ double delta;
+ bg = bucketed_data.get(i).value;
+ if (bg < 39 || bucketed_data.get(i + 3).value < 39) {
+ log.error("! value < 39");
+ continue;
+ }
+ avgDelta = (bg - bucketed_data.get(i + 3).value) / 3;
+ delta = (bg - bucketed_data.get(i + 1).value);
+
+ IobTotal iob = calulateFromTreatmentsAndTemps(bgTime);
+
+ double bgi = Math.round((-iob.activity * sens * 5) * 100) / 100d;
+ double deviation = delta - bgi;
+
+ List recentTreatments = treatmentsInterface.getTreatments5MinBack(bgTime);
+ for (int ir = 0; ir < recentTreatments.size(); ir++) {
+ autosensData.carbsFromBolus += recentTreatments.get(ir).carbs;
+ }
+
+ // if we are absorbing carbs
+ if (previous != null && previous.cob > 0) {
+ // figure out how many carbs that represents
+ // but always assume at least 3mg/dL/5m (default) absorption
+ double ci = Math.max(deviation, SP.getDouble("openapsama_min_5m_carbimpact", 3.0));
+ autosensData.absorbed = ci * profile.getIc(secondsFromMidnight) / sens;
+ // and add that to the running total carbsAbsorbed
+ autosensData.cob = Math.max(previous.cob - autosensData.absorbed, 0d);
+ }
+ autosensData.cob += autosensData.carbsFromBolus;
+ autosensData.deviation = deviation;
+
+ // calculate autosens only without COB
+ if (autosensData.cob <= 0) {
+ if (deviation > 0) {
+ autosensData.pastSensitivity += "+";
+ } else if (deviation == 0) {
+ autosensData.pastSensitivity += "=";
+ } else {
+ autosensData.pastSensitivity += "-";
+ }
+ autosensData.calculateWithDeviation = true;
+ } else {
+ autosensData.pastSensitivity += "C";
+ }
+ //log.debug("TIME: " + new Date(bgTime).toString() + " BG: " + bg + " SENS: " + sens + " DELTA: " + delta + " AVGDELTA: " + avgDelta + " IOB: " + iob.iob + " ACTIVITY: " + iob.activity + " BGI: " + bgi + " DEVIATION: " + deviation);
+
+ previous = autosensData;
+ autosensDataTable.put(bgTime, autosensData);
+ log.debug(autosensData.log(bgTime));
+ }
+ }
+ MainApp.bus().post(new EventAutosensCalculationFinished());
+ //log.debug("Releasing calculateSensitivityData");
+ }
+
+ public static IobTotal calulateFromTreatmentsAndTemps(long time) {
+ long now = new Date().getTime();
+ time = roundUpTime(time);
+ if (time < now && iobTable.get(time) != null) {
+ //log.debug(">>> Cache hit");
+ return iobTable.get(time);
+ } else {
+ //log.debug(">>> Cache miss " + new Date(time).toLocaleString());
+ }
+ IobTotal bolusIob = ConfigBuilderPlugin.getActiveTreatments().getCalculationToTime(time).round();
+ IobTotal basalIob = ConfigBuilderPlugin.getActiveTempBasals().getCalculationToTime(time).round();
+/*
+ if (basalIob.basaliob > 0) {
+ log.debug(new Date(time).toLocaleString() + " basaliob: " + basalIob.basaliob );
+ }
+*/
+ IobTotal iobTotal = IobTotal.combine(bolusIob, basalIob).round();
+ if (time < new Date().getTime()) {
+ iobTable.put(time, iobTotal);
+ }
+ return iobTotal;
+ }
+
+ public static AutosensData getAutosensData(long time) {
+ long now = new Date().getTime();
+ if (time > now)
+ return null;
+ time = roundUpTime(time);
+ AutosensData data = autosensDataTable.get(time);
+ if (data != null) {
+ //log.debug(">>> Cache hit " + data.log(time));
+ return data;
+ } else {
+ //log.debug(">>> Cache miss " + new Date(time).toLocaleString());
+ return null;
+ }
+ }
+
+ public static AutosensData getLastAutosensData() {
+ AutosensData data = autosensDataTable.valueAt(autosensDataTable.size() - 1);
+ if (data.time < new Date().getTime() - 5 * 60 * 1000) {
+ return null;
+ } else {
+ return data;
+ }
+ }
+
+ public static IobTotal[] calculateIobArrayInDia() {
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
+ // predict IOB out to DIA plus 30m
+ long time = new Date().getTime();
+ int len = (int) ((profile.getDia() * 60 + 30) / 5);
+ IobTotal[] array = new IobTotal[len];
+ int pos = 0;
+ for (int i = 0; i < len; i++) {
+ long t = time + i * 5 * 60000;
+ IobTotal iob = calulateFromTreatmentsAndTemps(t);
+ array[pos] = iob;
+ pos++;
+ }
+ return array;
+ }
+
+ public static AutosensResult detectSensitivity(long fromTime) {
+ //log.debug("Locking detectSensitivity");
+ synchronized (dataLock) {
+ if (autosensDataTable == null || autosensDataTable.size() < 4) {
+ log.debug("No bucketed data available");
+ return new AutosensResult();
+ }
+
+ AutosensData current = getLastAutosensData();
+ if (current == null) {
+ log.debug("No current autosens data available");
+ return new AutosensResult();
+ }
+
+
+ List deviationsArray = new ArrayList<>();
+ String pastSensitivity = "";
+ int index = 0;
+ while (index < autosensDataTable.size()) {
+ AutosensData autosensData = autosensDataTable.valueAt(index);
+
+ if (autosensData.time < fromTime) {
+ index++;
+ continue;
+ }
+
+ if (autosensData.calculateWithDeviation)
+ deviationsArray.add(autosensData.deviation);
+
+ pastSensitivity += autosensData.pastSensitivity;
+ int secondsFromMidnight = NSProfile.secondsFromMidnight(autosensData.time);
+ if (secondsFromMidnight % 3600 < 2.5 * 60 || secondsFromMidnight % 3600 > 57.5 * 60) {
+ pastSensitivity += "(" + Math.round(secondsFromMidnight / 3600d) + ")";
+ }
+ index++;
+ }
+
+ Double[] deviations = new Double[deviationsArray.size()];
+ deviations = deviationsArray.toArray(deviations);
+
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
+
+ double ratio = 1;
+ String ratioLimit = "";
+ String sensResult = "";
+
+ log.debug("Records: " + index + " " + pastSensitivity);
+ Arrays.sort(deviations);
+
+ for (double i = 0.9; i > 0.1; i = i - 0.02) {
+ if (percentile(deviations, (i + 0.02)) >= 0 && percentile(deviations, i) < 0) {
+ log.debug(Math.round(100 * i) + "% of non-meal deviations negative (target 45%-50%)");
+ }
+ }
+ double pSensitive = percentile(deviations, 0.50);
+ double pResistant = percentile(deviations, 0.45);
+
+ double basalOff = 0;
+
+ if (pSensitive < 0) { // sensitive
+ basalOff = pSensitive * (60 / 5) / NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits());
+ sensResult = "Excess insulin sensitivity detected";
+ } else if (pResistant > 0) { // resistant
+ basalOff = pResistant * (60 / 5) / NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits());
+ sensResult = "Excess insulin resistance detected";
+ } else {
+ sensResult = "Sensitivity normal";
+ }
+ log.debug(sensResult);
+ ratio = 1 + (basalOff / profile.getMaxDailyBasal());
+
+ double rawRatio = ratio;
+ ratio = Math.max(ratio, SafeParse.stringToDouble(SP.getString("openapsama_autosens_min", "0.7")));
+ ratio = Math.min(ratio, SafeParse.stringToDouble(SP.getString("openapsama_autosens_max", "1.2")));
+
+ if (ratio != rawRatio) {
+ ratioLimit = "Ratio limited from " + rawRatio + " to " + ratio;
+ log.debug(ratioLimit);
+ }
+
+ double newisf = Math.round(NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits()) / ratio);
+ if (ratio != 1) {
+ log.debug("ISF adjusted from " + NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits()) + " to " + newisf);
+ }
+
+ AutosensResult output = new AutosensResult();
+ output.ratio = Round.roundTo(ratio, 0.01);
+ output.carbsAbsorbed = Round.roundTo(current.cob, 0.01);
+ output.pastSensitivity = pastSensitivity;
+ output.ratioLimit = ratioLimit;
+ output.sensResult = sensResult;
+ return output;
+ }
+ //log.debug("Releasing detectSensitivity");
+ }
+
+
+ public static JSONArray convertToJSONArray(IobTotal[] iobArray) {
+ JSONArray array = new JSONArray();
+ for (int i = 0; i < iobArray.length; i++) {
+ array.put(iobArray[i].determineBasalJson());
+ }
+ return array;
+ }
+
+ @Subscribe
+ public void onNewBg(EventNewBG ev) {
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ loadBgData();
+ createBucketedData();
+ calculateSensitivityData();
+ }
+ });
+ }
+
+ @Subscribe
+ public void onNewProfile(EventNewBasalProfile ev) {
+ if (MainApp.getConfigBuilder().getActiveProfile() == null)
+ return;
+ NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ if (profile != null) {
+ dia = profile.getDia();
+ }
+ }
+
+ // When historical data is changed (comming from NS etc) finished calculations after this date must be invalidated
+ @Subscribe
+ public void onNewHistoryData(EventNewHistoryData ev) {
+ //log.debug("Locking onNewHistoryData");
+ synchronized (dataLock) {
+ long time = ev.time;
+ log.debug("Invalidating cached data to: " + new Date(time).toLocaleString());
+ for (int index = iobTable.size() - 1; index >= 0; index--) {
+ if (iobTable.keyAt(index) > time) {
+ log.debug("Removing from iobTable: " + new Date(iobTable.keyAt(index)).toLocaleString());
+ iobTable.removeAt(index);
+ } else {
+ break;
+ }
+ }
+ for (int index = autosensDataTable.size() - 1; index >= 0; index--) {
+ if (autosensDataTable.keyAt(index) > time) {
+ log.debug("Removing from autosensDataTable: " + new Date(autosensDataTable.keyAt(index)).toLocaleString());
+ autosensDataTable.removeAt(index);
+ } else {
+ break;
+ }
+ }
+ }
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ calculateSensitivityData();
+ }
+ });
+ //log.debug("Releasing onNewHistoryData");
+ }
+
+ // From https://gist.github.com/IceCreamYou/6ffa1b18c4c8f6aeaad2
+ // Returns the value at a given percentile in a sorted numeric array.
+ // "Linear interpolation between closest ranks" method
+ public static double percentile(Double[] arr, double p) {
+ if (arr.length == 0) return 0;
+ if (p <= 0) return arr[0];
+ if (p >= 1) return arr[arr.length - 1];
+
+ double index = arr.length * p,
+ lower = Math.floor(index),
+ upper = lower + 1,
+ weight = index % 1;
+
+ if (upper >= arr.length) return arr[(int) lower];
+ return arr[(int) lower] * (1 - weight) + arr[(int) upper] * weight;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventAutosensCalculationFinished.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventAutosensCalculationFinished.java
new file mode 100644
index 0000000000..f2977c90c5
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventAutosensCalculationFinished.java
@@ -0,0 +1,8 @@
+package info.nightscout.androidaps.plugins.IobCobCalculator.events;
+
+/**
+ * Created by mike on 30.04.2017.
+ */
+
+public class EventAutosensCalculationFinished {
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventNewHistoryData.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventNewHistoryData.java
new file mode 100644
index 0000000000..7499fad383
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/events/EventNewHistoryData.java
@@ -0,0 +1,13 @@
+package info.nightscout.androidaps.plugins.IobCobCalculator.events;
+
+/**
+ * Created by mike on 26.04.2017.
+ */
+
+public class EventNewHistoryData {
+ public long time = 0;
+
+ public EventNewHistoryData(long time) {
+ this.time = time;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java
index 85a9f39b09..0d72464b73 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/DeviceStatus.java
@@ -2,7 +2,6 @@ package info.nightscout.androidaps.plugins.Loop;
import android.content.Context;
import android.content.Intent;
-import android.content.pm.ResolveInfo;
import android.os.Bundle;
import org.json.JSONException;
@@ -10,12 +9,9 @@ import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.List;
-
-import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.Services.Intents;
-import info.nightscout.client.data.DbLogger;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.DbLogger;
/*
{
@@ -382,6 +378,7 @@ public class DeviceStatus {
public JSONObject enacted = null;
public JSONObject suggested = null;
public JSONObject iob = null;
+ public int uploaderBattery = 0;
public String created_at = null;
public JSONObject mongoRecord () {
@@ -397,6 +394,7 @@ public class DeviceStatus {
if (iob != null) openaps.put("iob", iob);
record.put("openaps", openaps);
}
+ if (uploaderBattery != 0) record.put("uploaderBattery", uploaderBattery);
if (created_at != null) record.put("created_at" , created_at);
} catch (JSONException e) {
e.printStackTrace();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java
index a183e28345..de295d8a6e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopFragment.java
@@ -10,6 +10,8 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -17,11 +19,10 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.Loop.events.EventLoopSetLastRunGui;
import info.nightscout.androidaps.plugins.Loop.events.EventLoopUpdateGui;
-public class LoopFragment extends Fragment implements View.OnClickListener, FragmentBase {
+public class LoopFragment extends Fragment implements View.OnClickListener {
private static Logger log = LoggerFactory.getLogger(LoopFragment.class);
private static LoopPlugin loopPlugin;
@@ -84,6 +85,7 @@ public class LoopFragment extends Fragment implements View.OnClickListener, Frag
}
});
thread.start();
+ Answers.getInstance().logCustom(new CustomEvent("Loop_Run"));
break;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java
index 76eb14eb1a..f6d319dd7f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Loop/LoopPlugin.java
@@ -32,6 +32,7 @@ import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.Loop.events.EventLoopSetLastRunGui;
import info.nightscout.androidaps.plugins.Loop.events.EventLoopUpdateGui;
import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -43,7 +44,10 @@ public class LoopPlugin implements PluginBase {
private static HandlerThread sHandlerThread;
private boolean fragmentEnabled = false;
- private boolean fragmentVisible = true;
+ private boolean fragmentVisible = false;
+
+ private long loopSuspendedTill = 0L; // end of manual loop suspend
+ private boolean isSuperBolus = false;
public class LastRun {
public APSResult request = null;
@@ -64,6 +68,8 @@ public class LoopPlugin implements PluginBase {
sHandler = new Handler(sHandlerThread.getLooper());
}
MainApp.bus().register(this);
+ loopSuspendedTill = SP.getLong("loopSuspendedTill", 0L);
+ isSuperBolus = SP.getBoolean("isSuperBolus", false);
}
@Override
@@ -107,6 +113,16 @@ public class LoopPlugin implements PluginBase {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == LOOP) this.fragmentEnabled = fragmentEnabled;
@@ -127,12 +143,72 @@ public class LoopPlugin implements PluginBase {
invoke("EventNewBG", true);
}
+ public long suspendedTo() {
+ return loopSuspendedTill;
+ }
+
+ public void suspendTo(long endTime) {
+ loopSuspendedTill = endTime;
+ isSuperBolus = false;
+ SP.putLong("loopSuspendedTill", loopSuspendedTill);
+ }
+
+ public void superBolusTo(long endTime) {
+ loopSuspendedTill = endTime;
+ isSuperBolus = true;
+ SP.putLong("loopSuspendedTill", loopSuspendedTill);
+ }
+
+ public int minutesToEndOfSuspend() {
+ if (loopSuspendedTill == 0)
+ return 0;
+
+ long now = new Date().getTime();
+ long msecDiff = loopSuspendedTill - now;
+
+ if (loopSuspendedTill <= now) { // time exceeded
+ suspendTo(0L);
+ return 0;
+ }
+
+ return (int) (msecDiff / 60d / 1000d);
+ }
+
+ public boolean isSuspended() {
+ if (loopSuspendedTill == 0)
+ return false;
+
+ long now = new Date().getTime();
+
+ if (loopSuspendedTill <= now) { // time exceeded
+ suspendTo(0L);
+ return false;
+ }
+
+ return true;
+ }
+
+ public boolean isSuperBolus() {
+ if (loopSuspendedTill == 0)
+ return false;
+
+ long now = new Date().getTime();
+
+ if (loopSuspendedTill <= now) { // time exceeded
+ suspendTo(0L);
+ return false;
+ }
+
+ return isSuperBolus;
+ }
+
public void invoke(String initiator, boolean allowNotification) {
try {
if (Config.logFunctionCalls)
log.debug("invoke");
ConstraintsInterface constraintsInterface = MainApp.getConfigBuilder();
if (!constraintsInterface.isLoopEnabled()) {
+ log.debug(MainApp.sResources.getString(R.string.loopdisabled));
MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.sResources.getString(R.string.loopdisabled)));
return;
}
@@ -142,6 +218,18 @@ public class LoopPlugin implements PluginBase {
if (configBuilder == null || !isEnabled(PluginBase.LOOP))
return;
+ if (isSuspended()) {
+ log.debug(MainApp.sResources.getString(R.string.loopsuspended));
+ MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.sResources.getString(R.string.loopsuspended)));
+ return;
+ }
+
+ if (configBuilder.isSuspended()) {
+ log.debug(MainApp.sResources.getString(R.string.pumpsuspended));
+ MainApp.bus().post(new EventLoopSetLastRunGui(MainApp.sResources.getString(R.string.pumpsuspended)));
+ return;
+ }
+
// Check if pump info is loaded
if (configBuilder.getBaseBasalRate() < 0.01d) return;
@@ -196,7 +284,7 @@ public class LoopPlugin implements PluginBase {
if (result.changeRequested && allowNotification) {
NotificationCompat.Builder builder =
new NotificationCompat.Builder(MainApp.instance().getApplicationContext());
- builder.setSmallIcon(R.drawable.notification_icon)
+ builder.setSmallIcon(R.drawable.notif_icon)
.setContentTitle(MainApp.sResources.getString(R.string.openloop_newsuggestion))
.setContentText(resultAfterConstraints.toString())
.setAutoCancel(true)
@@ -228,7 +316,7 @@ public class LoopPlugin implements PluginBase {
}
MainApp.bus().post(new EventLoopUpdateGui());
- MainApp.getConfigBuilder().uploadDeviceStatus(120);
+ MainApp.getConfigBuilder().uploadDeviceStatus();
} finally {
if (Config.logFunctionCalls)
log.debug("invoke end");
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/MDI/MDIFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/MDI/MDIFragment.java
deleted file mode 100644
index a67f68dfb3..0000000000
--- a/app/src/main/java/info/nightscout/androidaps/plugins/MDI/MDIFragment.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package info.nightscout.androidaps.plugins.MDI;
-
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.os.Handler;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.TextView;
-
-import com.squareup.otto.Subscribe;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import info.nightscout.androidaps.MainApp;
-import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-import info.nightscout.androidaps.plugins.VirtualPump.VirtualPumpPlugin;
-import info.nightscout.androidaps.plugins.VirtualPump.events.EventVirtualPumpUpdateGui;
-
-public class MDIFragment extends Fragment implements FragmentBase {
- private static Logger log = LoggerFactory.getLogger(MDIFragment.class);
-
- private static MDIPlugin mdiPlugin = new MDIPlugin();
-
- public static MDIPlugin getPlugin() {
- return mdiPlugin;
- }
-}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java
new file mode 100644
index 0000000000..c3e8c777c6
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalFragment.java
@@ -0,0 +1,191 @@
+package info.nightscout.androidaps.plugins.NSClientInternal;
+
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.graphics.Paint;
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.text.Html;
+import android.text.Spanned;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.ScrollView;
+import android.widget.TextView;
+
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+import com.squareup.otto.Subscribe;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientUpdateGUI;
+import info.nightscout.utils.SP;
+
+public class NSClientInternalFragment extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
+ private static Logger log = LoggerFactory.getLogger(NSClientInternalFragment.class);
+
+ static NSClientInternalPlugin nsClientInternalPlugin;
+
+ static public NSClientInternalPlugin getPlugin() {
+ if (nsClientInternalPlugin == null) {
+ nsClientInternalPlugin = new NSClientInternalPlugin();
+ }
+ return nsClientInternalPlugin;
+ }
+
+ private TextView logTextView;
+ private TextView queueTextView;
+ private TextView urlTextView;
+ private TextView statusTextView;
+ private TextView clearlog;
+ private TextView restart;
+ private TextView delivernow;
+ private TextView clearqueue;
+ private TextView showqueue;
+ private ScrollView logScrollview;
+ private CheckBox autoscrollCheckbox;
+ private CheckBox pausedCheckbox;
+
+ String status = "";
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.nsclientinternal_fragment, container, false);
+
+ logScrollview = (ScrollView) view.findViewById(R.id.nsclientinternal_logscrollview);
+ autoscrollCheckbox = (CheckBox) view.findViewById(R.id.nsclientinternal_autoscroll);
+ autoscrollCheckbox.setChecked(getPlugin().autoscroll);
+ autoscrollCheckbox.setOnCheckedChangeListener(this);
+ pausedCheckbox = (CheckBox) view.findViewById(R.id.nsclientinternal_paused);
+ pausedCheckbox.setChecked(getPlugin().paused);
+ pausedCheckbox.setOnCheckedChangeListener(this);
+ logTextView = (TextView) view.findViewById(R.id.nsclientinternal_log);
+ queueTextView = (TextView) view.findViewById(R.id.nsclientinternal_queue);
+ urlTextView = (TextView) view.findViewById(R.id.nsclientinternal_url);
+ statusTextView = (TextView) view.findViewById(R.id.nsclientinternal_status);
+
+ clearlog = (TextView) view.findViewById(R.id.nsclientinternal_clearlog);
+ clearlog.setOnClickListener(this);
+ clearlog.setPaintFlags(clearlog.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
+ restart = (TextView) view.findViewById(R.id.nsclientinternal_restart);
+ restart.setOnClickListener(this);
+ restart.setPaintFlags(restart.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
+ delivernow = (TextView) view.findViewById(R.id.nsclientinternal_delivernow);
+ delivernow.setOnClickListener(this);
+ delivernow.setPaintFlags(delivernow.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
+ clearqueue = (TextView) view.findViewById(R.id.nsclientinternal_clearqueue);
+ clearqueue.setOnClickListener(this);
+ clearqueue.setPaintFlags(clearqueue.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
+ showqueue = (TextView) view.findViewById(R.id.nsclientinternal_showqueue);
+ showqueue.setOnClickListener(this);
+ showqueue.setPaintFlags(showqueue.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
+
+ updateGUI();
+ return view;
+ }
+
+ @Override
+ public void onClick(View view) {
+ switch (view.getId()) {
+ case R.id.nsclientinternal_restart:
+ MainApp.bus().post(new EventNSClientRestart());
+ Answers.getInstance().logCustom(new CustomEvent("NSClientRestart"));
+ break;
+ case R.id.nsclientinternal_delivernow:
+ getPlugin().resend("GUI");
+ Answers.getInstance().logCustom(new CustomEvent("NSClientDeliverNow"));
+ break;
+ case R.id.nsclientinternal_clearlog:
+ getPlugin().clearLog();
+ break;
+ case R.id.nsclientinternal_clearqueue:
+ final Context context = getContext();
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+
+ builder.setTitle(this.getContext().getString(R.string.confirmation));
+ builder.setMessage("Clear queue? All data in queue will be lost!");
+ builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ getPlugin().queue().clearQueue();
+ updateGUI();
+ Answers.getInstance().logCustom(new CustomEvent("NSClientClearQueue"));
+ }
+ });
+ builder.setNegativeButton(getString(R.string.cancel), null);
+ builder.show();
+ break;
+ case R.id.nsclientinternal_showqueue:
+ MainApp.bus().post(new EventNSClientNewLog("QUEUE", getPlugin().queue().textList()));
+ Answers.getInstance().logCustom(new CustomEvent("NSClientShowQueue"));
+ break;
+ }
+ }
+
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ switch (buttonView.getId()) {
+ case R.id.nsclientinternal_paused:
+ SP.putBoolean(R.string.key_nsclientinternal_paused, isChecked);
+ getPlugin().paused = isChecked;
+ MainApp.bus().post(new EventPreferenceChange(R.string.key_nsclientinternal_paused));
+ updateGUI();
+ Answers.getInstance().logCustom(new CustomEvent("NSClientPause"));
+ break;
+ case R.id.nsclientinternal_autoscroll:
+ SP.putBoolean(R.string.key_nsclientinternal_autoscroll, isChecked);
+ getPlugin().autoscroll = isChecked;
+ updateGUI();
+ break;
+ }
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ MainApp.bus().unregister(this);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ MainApp.bus().register(this);
+ updateGUI();
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventNSClientUpdateGUI ev) {
+ updateGUI();
+ }
+
+ private void updateGUI() {
+ Activity activity = getActivity();
+ if (activity != null)
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ logTextView.setText(getPlugin().textLog);
+ if (getPlugin().autoscroll) {
+ logScrollview.fullScroll(ScrollView.FOCUS_DOWN);
+ }
+ urlTextView.setText(getPlugin().url());
+ Spanned queuetext = Html.fromHtml(MainApp.sResources.getString(R.string.queue) + " " + getPlugin().queue().size() + "");
+ queueTextView.setText(queuetext);
+ statusTextView.setText(getPlugin().status);
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java
new file mode 100644
index 0000000000..606858c5d9
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/NSClientInternalPlugin.java
@@ -0,0 +1,220 @@
+package info.nightscout.androidaps.plugins.NSClientInternal;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.text.Html;
+import android.text.Spanned;
+import android.text.TextUtils;
+
+import com.squareup.otto.Subscribe;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
+
+import info.nightscout.androidaps.Constants;
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventAppExit;
+import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientUpdateGUI;
+import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
+import info.nightscout.utils.SP;
+import info.nightscout.utils.ToastUtils;
+
+public class NSClientInternalPlugin implements PluginBase {
+ private static Logger log = LoggerFactory.getLogger(NSClientInternalPlugin.class);
+
+ boolean fragmentEnabled = true;
+ boolean fragmentVisible = true;
+
+ static public Handler handler;
+ static private HandlerThread handlerThread;
+
+ public List listLog = new ArrayList();
+ public Spanned textLog = Html.fromHtml("");
+
+ public boolean paused = false;
+ public boolean autoscroll = true;
+
+ public String status = "";
+
+ public NSClientService nsClientService = null;
+
+ public NSClientInternalPlugin() {
+ MainApp.bus().register(this);
+ paused = SP.getBoolean(R.string.key_nsclientinternal_paused, false);
+ autoscroll = SP.getBoolean(R.string.key_nsclientinternal_autoscroll, true);
+
+ if (handler == null) {
+ handlerThread = new HandlerThread(NSClientInternalPlugin.class.getSimpleName() + "Handler");
+ handlerThread.start();
+ handler = new Handler(handlerThread.getLooper());
+ }
+
+ Context context = MainApp.instance().getApplicationContext();
+ Intent intent = new Intent(context, NSClientService.class);
+ context.bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
+ }
+
+ @Override
+ public int getType() {
+ return PluginBase.GENERAL;
+ }
+
+ @Override
+ public String getFragmentClass() {
+ return NSClientInternalFragment.class.getName();
+ }
+
+ @Override
+ public String getName() {
+ return MainApp.sResources.getString(R.string.nsclientinternal);
+ }
+
+ @Override
+ public String getNameShort() {
+ String name = MainApp.sResources.getString(R.string.nsclientinternal_shortname);
+ if (!name.trim().isEmpty()) {
+ //only if translation exists
+ return name;
+ }
+ // use long name as fallback
+ return getName();
+ }
+
+ @Override
+ public boolean isEnabled(int type) {
+ return type == GENERAL && fragmentEnabled;
+ }
+
+ @Override
+ public boolean isVisibleInTabs(int type) {
+ return type == GENERAL && fragmentVisible;
+ }
+
+ @Override
+ public boolean canBeHidden(int type) {
+ return true;
+ }
+
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
+ @Override
+ public void setFragmentEnabled(int type, boolean fragmentEnabled) {
+ if (type == GENERAL) this.fragmentEnabled = fragmentEnabled;
+ }
+
+ @Override
+ public void setFragmentVisible(int type, boolean fragmentVisible) {
+ if (type == GENERAL) this.fragmentVisible = fragmentVisible;
+ }
+
+ ServiceConnection mConnection = new ServiceConnection() {
+
+ public void onServiceDisconnected(ComponentName name) {
+ log.debug("Service is disconnected");
+ nsClientService = null;
+ }
+
+ public void onServiceConnected(ComponentName name, IBinder service) {
+ log.debug("Service is connected");
+ NSClientService.LocalBinder mLocalBinder = (NSClientService.LocalBinder) service;
+ nsClientService = mLocalBinder.getServiceInstance();
+ }
+ };
+
+ @SuppressWarnings("UnusedParameters")
+ @Subscribe
+ public void onStatusEvent(final EventAppExit e) {
+ if (nsClientService != null)
+ MainApp.instance().getApplicationContext().unbindService(mConnection);
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventPreferenceChange s) {
+ //TODO
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventNSClientNewLog ev) {
+ addToLog(ev);
+ log.debug(ev.action + " " + ev.logText);
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventNSClientStatus ev) {
+ status = ev.status;
+ MainApp.bus().post(new EventNSClientUpdateGUI());
+ }
+
+ public void clearLog() {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ listLog = new ArrayList();
+ updateLog();
+ }
+ });
+ }
+
+ private void addToLog(final EventNSClientNewLog ev) {
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+ listLog.add(ev);
+ // remove the first line if log is too large
+ if (listLog.size() >= Constants.MAX_LOG_LINES) {
+ listLog.remove(0);
+ }
+ updateLog();
+ }
+ });
+ }
+
+ private void updateLog() {
+ try {
+ Spanned newTextLog = Html.fromHtml("");
+ for (EventNSClientNewLog log : listLog) {
+ newTextLog = (Spanned) TextUtils.concat(newTextLog, log.toHtml());
+ }
+ textLog = newTextLog;
+ MainApp.bus().post(new EventNSClientUpdateGUI());
+ } catch (OutOfMemoryError e) {
+ ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), "Out of memory!\nStop using this phone !!!", R.raw.error);
+ }
+ }
+
+ public void resend(String reason) {
+ if (nsClientService != null)
+ nsClientService.resend(reason);
+ }
+
+ public UploadQueue queue() {
+ return NSClientService.uploadQueue;
+ }
+
+ public String url() {
+ return NSClientService.nsURL;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java
new file mode 100644
index 0000000000..b318d8026f
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/UploadQueue.java
@@ -0,0 +1,139 @@
+package info.nightscout.androidaps.plugins.NSClientInternal;
+
+import android.content.Context;
+import android.content.Intent;
+
+import com.j256.ormlite.dao.CloseableIterator;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.db.DatabaseHelper;
+import info.nightscout.androidaps.db.DbRequest;
+import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
+import info.nightscout.utils.SP;
+
+/**
+ * Created by mike on 21.02.2016.
+ */
+public class UploadQueue {
+ private static Logger log = LoggerFactory.getLogger(UploadQueue.class);
+
+ public static String status() {
+ return "QUEUE: " + MainApp.getDbHelper().size(DatabaseHelper.DATABASE_DBREQUESTS);
+ }
+
+ public static long size() {
+ return MainApp.getDbHelper().size(DatabaseHelper.DATABASE_DBREQUESTS);
+ }
+
+ private static void startService() {
+ if (NSClientService.handler == null) {
+ Context context = MainApp.instance();
+ context.startService(new Intent(context, NSClientService.class));
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ }
+ }
+ }
+
+ public static void add(final DbRequest dbr) {
+ startService();
+ if (NSClientService.handler != null) {
+ NSClientService.handler.post(new Runnable() {
+ @Override
+ public void run() {
+ log.debug("QUEUE adding: " + dbr.data);
+ MainApp.getDbHelper().create(dbr);
+ NSClientInternalPlugin plugin = (NSClientInternalPlugin) MainApp.getSpecificPlugin(NSClientInternalPlugin.class);
+ if (plugin != null) {
+ plugin.resend("newdata");
+ }
+ }
+ });
+ }
+ }
+
+ public static void clearQueue() {
+ startService();
+ if (NSClientService.handler != null) {
+ NSClientService.handler.post(new Runnable() {
+ @Override
+ public void run() {
+ log.debug("QUEUE ClearQueue");
+ MainApp.getDbHelper().deleteAllDbRequests();
+ log.debug(status());
+ }
+ });
+ }
+ }
+
+ public static void removeID(final JSONObject record) {
+ startService();
+ if (NSClientService.handler != null) {
+ NSClientService.handler.post(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ String id;
+ if (record.has("NSCLIENT_ID")) {
+ id = record.getString("NSCLIENT_ID");
+ } else {
+ return;
+ }
+ if (MainApp.getDbHelper().deleteDbRequest(id) == 1) {
+ log.debug("Removed item from UploadQueue. " + UploadQueue.status());
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+ }
+
+ public static void removeID(final String action, final String _id) {
+ startService();
+ if (NSClientService.handler != null) {
+ NSClientService.handler.post(new Runnable() {
+ @Override
+ public void run() {
+ MainApp.getDbHelper().deleteDbRequestbyMongoId(action, _id);
+ }
+ });
+ }
+ }
+
+ public String textList() {
+ String result = "";
+ CloseableIterator iterator = null;
+ try {
+ iterator = MainApp.getDbHelper().getDaoDbRequest().closeableIterator();
+ try {
+ while (iterator.hasNext()) {
+ DbRequest dbr = iterator.next();
+ result += "
";
+ result += dbr.action.toUpperCase() + " ";
+ result += dbr.collection + ": ";
+ result += dbr.data;
+ }
+ } finally {
+ iterator.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+ return result;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java
new file mode 100644
index 0000000000..b4ba0c3364
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAddAck.java
@@ -0,0 +1,55 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.acks;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
+import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
+import io.socket.client.Ack;
+
+/**
+ * Created by mike on 29.12.2015.
+ */
+public class NSAddAck implements Ack {
+ private static Logger log = LoggerFactory.getLogger(NSAddAck.class);
+ public String _id = null;
+ public String nsClientID = null;
+ public JSONObject json = null;
+ public void call(Object...args) {
+ // Regular response
+ try {
+ JSONArray responsearray = (JSONArray) (args[0]);
+ JSONObject response = null;
+ if (responsearray.length()>0) {
+ response = responsearray.getJSONObject(0);
+ _id = response.getString("_id");
+ json = response;
+ if (response.has("NSCLIENT_ID")) {
+ nsClientID = response.getString("NSCLIENT_ID");
+ }
+ }
+ MainApp.bus().post(this);
+ return;
+ } catch (Exception e) {
+ }
+ // Check for not authorized
+ try {
+ JSONObject response = (JSONObject) (args[0]);
+ if (response.has("result")) {
+ _id = null;
+ if (response.getString("result").contains("Not")) {
+ MainApp.bus().post(new EventNSClientRestart());
+ return;
+ }
+ log.debug("DBACCESS " + response.getString("result"));
+ }
+ return;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAuthAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAuthAck.java
new file mode 100644
index 0000000000..3c3b173173
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSAuthAck.java
@@ -0,0 +1,24 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.acks;
+
+import org.json.JSONObject;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog;
+import io.socket.client.Ack;
+
+/**
+ * Created by mike on 02.01.2016.
+ */
+public class NSAuthAck implements Ack{
+ public boolean read = false;
+ public boolean write = false;
+ public boolean write_treatment = false;
+
+ public void call(Object...args) {
+ JSONObject response = (JSONObject)args[0];
+ read = response.optBoolean("read");
+ write = response.optBoolean("write");
+ write_treatment = response.optBoolean("write_treatment");
+ MainApp.bus().post(this);
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSPingAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSPingAck.java
new file mode 100644
index 0000000000..2824e922aa
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSPingAck.java
@@ -0,0 +1,38 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.acks;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import io.socket.client.Ack;
+
+/**
+ * Created by mike on 29.12.2015.
+ */
+public class NSPingAck implements Ack {
+ public long mills = 0;
+ public boolean received = false;
+ public boolean auth_received = false;
+ public boolean read = false;
+ public boolean write = false;
+ public boolean write_treatment = false;
+
+ public void call(Object...args) {
+ JSONObject response = (JSONObject)args[0];
+ mills = response.optLong("mills");
+ if (response.has("authorization")) {
+ auth_received = true;
+ try {
+ JSONObject authorization = response.getJSONObject("authorization");
+ read = authorization.optBoolean("read");
+ write = authorization.optBoolean("write");
+ write_treatment = authorization.optBoolean("write_treatment");
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+ received = true;
+ synchronized(this) {
+ this.notify();
+ }
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java
new file mode 100644
index 0000000000..5aef754d8c
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/acks/NSUpdateAck.java
@@ -0,0 +1,39 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.acks;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import info.nightscout.androidaps.MainApp;
+import io.socket.client.Ack;
+
+/**
+ * Created by mike on 21.02.2016.
+ */
+public class NSUpdateAck implements Ack {
+ private static Logger log = LoggerFactory.getLogger(NSUpdateAck.class);
+ public boolean result = false;
+ public String _id = null;
+ public String action;
+ public void call(Object...args) {
+ JSONObject response = (JSONObject)args[0];
+ if (response.has("result"))
+ try {
+ if (response.getString("result").equals("success"))
+ result = true;
+ else if (response.getString("result").equals("Missing _id")) {
+ result = true;
+ log.debug("Internal error: Missing _id returned on dbUpdate ack");
+ }
+ MainApp.bus().post(this);
+ } catch (JSONException e) {
+ }
+ }
+
+ public NSUpdateAck(String action, String _id) {
+ super();
+ this.action = action;
+ this._id = _id;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java
new file mode 100644
index 0000000000..58a24e825c
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastCals.java
@@ -0,0 +1,34 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.json.JSONArray;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.Services.Intents;
+
+/**
+ * Created by mike on 26.06.2016.
+ */
+public class BroadcastCals {
+ private static Logger log = LoggerFactory.getLogger(BroadcastCals.class);
+
+ public void handleNewCal(JSONArray cals, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("cals", cals.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_CAL);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("CAL " + x.size() + " receivers");
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java
new file mode 100644
index 0000000000..64fd72b36a
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastDeviceStatus.java
@@ -0,0 +1,45 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.Services.Intents;
+
+
+public class BroadcastDeviceStatus {
+ private static Logger log = LoggerFactory.getLogger(BroadcastDeviceStatus.class);
+
+ public void handleNewDeviceStatus(JSONObject status, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("devicestatus", status.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_DEVICESTATUS);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("DEVICESTATUS " + x.size() + " receivers");
+ }
+ public void handleNewDeviceStatus(JSONArray statuses, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("devicestatuses", statuses.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_DEVICESTATUS);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("DEVICESTATUS " + x.size() + " receivers");
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java
new file mode 100644
index 0000000000..33669e1852
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastMbgs.java
@@ -0,0 +1,34 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.json.JSONArray;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.Services.Intents;
+
+/**
+ * Created by mike on 26.06.2016.
+ */
+public class BroadcastMbgs {
+ private static Logger log = LoggerFactory.getLogger(BroadcastMbgs.class);
+
+ public void handleNewMbg(JSONArray mbgs, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("mbgs", mbgs.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_MBG);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("MBG " + x.size() + " receivers");
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java
new file mode 100644
index 0000000000..a1d44d0340
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastProfile.java
@@ -0,0 +1,37 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.Services.Intents;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+
+
+/**
+ * Created by mike on 20.02.2016.
+ */
+public class BroadcastProfile {
+ private static Logger log = LoggerFactory.getLogger(BroadcastProfile.class);
+
+ public void handleNewTreatment(NSProfile profile, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("profile", profile.getData().toString());
+ bundle.putString("activeprofile", profile.getActiveProfile());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_PROFILE);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("PROFILE " + x.size() + " receivers");
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java
new file mode 100644
index 0000000000..ed2b01a27c
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastQueueStatus.java
@@ -0,0 +1,30 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.PowerManager;
+
+import info.nightscout.androidaps.Services.Intents;
+
+/**
+ * Created by mike on 28.02.2016.
+ */
+public class BroadcastQueueStatus {
+ public void handleNewStatus(int size, Context context) {
+ PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
+ PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+ "sendQueue");
+ wakeLock.acquire();
+ try {
+ Bundle bundle = new Bundle();
+ bundle.putInt("size", size);
+ Intent intent = new Intent(Intents.ACTION_QUEUE_STATUS);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ } finally {
+ wakeLock.release();
+ }
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java
new file mode 100644
index 0000000000..81a2621a77
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastSgvs.java
@@ -0,0 +1,49 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.json.JSONArray;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.Services.Intents;
+
+/**
+ * Created by mike on 22.02.2016.
+ */
+public class BroadcastSgvs {
+ private static Logger log = LoggerFactory.getLogger(BroadcastSgvs.class);
+
+ public void handleNewSgv(JSONObject sgv, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("sgv", sgv.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_SGV);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("SGV " + x.size() + " receivers");
+ }
+
+ public void handleNewSgv(JSONArray sgvs, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("sgvs", sgvs.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_SGV);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("SGV " + x.size() + " receivers");
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java
new file mode 100644
index 0000000000..b99950c89b
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastStatus.java
@@ -0,0 +1,45 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.Services.Intents;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
+
+/**
+ * Created by mike on 24.02.2016.
+ */
+public class BroadcastStatus {
+ private static Logger log = LoggerFactory.getLogger(BroadcastStatus.class);
+
+ public void handleNewStatus(NSStatus status, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ try {
+ bundle.putString("nsclientversionname", MainApp.instance().getPackageManager().getPackageInfo(MainApp.instance().getPackageName(), 0).versionName);
+ bundle.putInt("nsclientversioncode", MainApp.instance().getPackageManager().getPackageInfo(MainApp.instance().getPackageName(), 0).versionCode);
+ } catch (PackageManager.NameNotFoundException e) {
+ e.printStackTrace();
+ };
+ bundle.putString("nightscoutversionname", NSClientService.nightscoutVersionName);
+ bundle.putInt("nightscoutversioncode", NSClientService.nightscoutVersionCode);
+ bundle.putString("status", status.getData().toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_STATUS);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("STATUS: " + x.size() + " receivers");
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java
new file mode 100644
index 0000000000..9d1abe43e3
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/broadcasts/BroadcastTreatment.java
@@ -0,0 +1,107 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.broadcasts;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+import info.nightscout.androidaps.Services.Intents;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSTreatment;
+
+/**
+ * Created by mike on 20.02.2016.
+ */
+public class BroadcastTreatment {
+ private static Logger log = LoggerFactory.getLogger(BroadcastTreatment.class);
+
+ public void handleNewTreatment(NSTreatment treatment, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("treatment", treatment.getData().toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_TREATMENT);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("TREAT_ADD " + treatment.getEventType() + " " + x.size() + " receivers");
+ }
+
+ public void handleNewTreatment(JSONArray treatments, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("treatments", treatments.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_NEW_TREATMENT);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("TREAT_ADD " + treatments.length() + " " + x.size() + " receivers");
+ }
+
+ public void handleChangedTreatment(JSONObject treatment, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("treatment", treatment.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_CHANGED_TREATMENT);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ try {
+ log.debug("TREAT_CHANGE " + treatment.getString("_id") + " " + x.size() + " receivers");
+ } catch (JSONException e) {}
+ }
+
+ public void handleChangedTreatment(JSONArray treatments, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("treatments", treatments.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_CHANGED_TREATMENT);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("TREAT_CHANGE " + treatments.length() + " " + x.size() + " receivers");
+ }
+
+ public void handleRemovedTreatment(JSONObject treatment, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("treatment", treatment.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ try {
+ log.debug("TREAT_REMOVE " + treatment.getString("_id") + " " + x.size() + " receivers");
+ } catch (JSONException e) {}
+ }
+
+ public void handleRemovedTreatment(JSONArray treatments, Context context, boolean isDelta) {
+ Bundle bundle = new Bundle();
+ bundle.putString("treatments", treatments.toString());
+ bundle.putBoolean("delta", isDelta);
+ Intent intent = new Intent(Intents.ACTION_REMOVED_TREATMENT);
+ intent.putExtras(bundle);
+ intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
+ context.sendBroadcast(intent);
+ List x = context.getPackageManager().queryBroadcastReceivers(intent, 0);
+
+ log.debug("TREAT_REMOVE " + treatments.length() + " treatments " + x.size() + " receivers");
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/client/data/DbLogger.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java
similarity index 96%
rename from app/src/main/java/info/nightscout/client/data/DbLogger.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java
index 3695d5e735..70d8e9e336 100644
--- a/app/src/main/java/info/nightscout/client/data/DbLogger.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/DbLogger.java
@@ -1,4 +1,4 @@
-package info.nightscout.client.data;
+package info.nightscout.androidaps.plugins.NSClientInternal.data;
import android.content.Intent;
import android.content.pm.ResolveInfo;
diff --git a/app/src/main/java/info/nightscout/client/data/NSCal.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java
similarity index 67%
rename from app/src/main/java/info/nightscout/client/data/NSCal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java
index 5a78dbaa02..74b5f688d9 100644
--- a/app/src/main/java/info/nightscout/client/data/NSCal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSCal.java
@@ -1,9 +1,12 @@
-package info.nightscout.client.data;
+package info.nightscout.androidaps.plugins.NSClientInternal.data;
import org.json.JSONException;
import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class NSCal {
+ private static Logger log = LoggerFactory.getLogger(NSCal.class);
public long date;
public double slope;
public double intercept;
@@ -17,6 +20,7 @@ public class NSCal {
scale = json.getDouble("scale");
} catch (JSONException e) {
e.printStackTrace();
+ log.debug("Data: " + json.toString());
}
}
}
diff --git a/app/src/main/java/info/nightscout/client/data/NSProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSProfile.java
similarity index 95%
rename from app/src/main/java/info/nightscout/client/data/NSProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSProfile.java
index 2e732c8c9f..9aee30e899 100644
--- a/app/src/main/java/info/nightscout/client/data/NSProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSProfile.java
@@ -1,4 +1,6 @@
-package info.nightscout.client.data;
+package info.nightscout.androidaps.plugins.NSClientInternal.data;
+
+import android.support.annotation.Nullable;
import com.crashlytics.android.Crashlytics;
@@ -118,7 +120,7 @@ public class NSProfile {
e.printStackTrace();
}
}
- return 3D;
+ return Constants.defaultDIA;
}
/*
public Double getCarbAbsorbtionRate() {
@@ -178,6 +180,7 @@ public class NSProfile {
return TimeZone.getDefault();
}
+ @Nullable
public Double getValueToTime(JSONArray array, Integer timeAsSeconds) {
Double lastValue = null;
@@ -221,10 +224,12 @@ public class NSProfile {
return retValue;
}
+ @Nullable
public Double getIsf(Integer timeAsSeconds) {
return getIsf(getDefaultProfile(), timeAsSeconds);
}
+ @Nullable
public Double getIsf(JSONObject profile, Integer timeAsSeconds) {
if (profile != null) {
try {
@@ -251,10 +256,12 @@ public class NSProfile {
return "";
}
+ @Nullable
public Double getIc(Integer timeAsSeconds) {
return getIc(getDefaultProfile(), timeAsSeconds);
}
+ @Nullable
public Double getIc(JSONObject profile, Integer timeAsSeconds) {
if (profile != null) {
try {
@@ -281,10 +288,12 @@ public class NSProfile {
return "";
}
+ @Nullable
public Double getBasal(Integer timeAsSeconds) {
return getBasal(getDefaultProfile(), timeAsSeconds);
}
+ @Nullable
public Double getBasal(JSONObject profile, Integer timeAsSeconds) {
if (profile != null) {
try {
@@ -339,10 +348,12 @@ public class NSProfile {
return "";
}
+ @Nullable
public Double getTargetLow(Integer timeAsSeconds) {
return getTargetLow(getDefaultProfile(), timeAsSeconds);
}
+ @Nullable
public Double getTargetLow(JSONObject profile, Integer timeAsSeconds) {
if (profile != null) {
try {
@@ -354,10 +365,12 @@ public class NSProfile {
return 0D;
}
+ @Nullable
public Double getTargetHigh(Integer timeAsSeconds) {
return getTargetHigh(getDefaultProfile(), timeAsSeconds);
}
+ @Nullable
public Double getTargetHigh(JSONObject profile, Integer timeAsSeconds) {
if (profile != null) {
try {
@@ -448,6 +461,17 @@ public class NSProfile {
return (int) (passed / 1000);
}
+ public static int secondsFromMidnight(long date) {
+ Calendar c = Calendar.getInstance();
+ c.setTimeInMillis(date);
+ c.set(Calendar.HOUR_OF_DAY, 0);
+ c.set(Calendar.MINUTE, 0);
+ c.set(Calendar.SECOND, 0);
+ c.set(Calendar.MILLISECOND, 0);
+ long passed = date - c.getTimeInMillis();
+ return (int) (passed / 1000);
+ }
+
public static Double toMgdl(Double value, String units) {
if (units.equals(Constants.MGDL)) return value;
else return value * Constants.MMOLL_TO_MGDL;
diff --git a/app/src/main/java/info/nightscout/client/data/NSSgv.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java
similarity index 96%
rename from app/src/main/java/info/nightscout/client/data/NSSgv.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java
index 5ce9b35caa..c8666f4306 100644
--- a/app/src/main/java/info/nightscout/client/data/NSSgv.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSSgv.java
@@ -1,4 +1,4 @@
-package info.nightscout.client.data;
+package info.nightscout.androidaps.plugins.NSClientInternal.data;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/app/src/main/java/info/nightscout/client/data/NSStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSStatus.java
similarity index 97%
rename from app/src/main/java/info/nightscout/client/data/NSStatus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSStatus.java
index f247907296..fe20e90b1d 100644
--- a/app/src/main/java/info/nightscout/client/data/NSStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSStatus.java
@@ -1,4 +1,4 @@
-package info.nightscout.client.data;
+package info.nightscout.androidaps.plugins.NSClientInternal.data;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/app/src/main/java/info/nightscout/client/data/NSTreatment.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java
similarity index 97%
rename from app/src/main/java/info/nightscout/client/data/NSTreatment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java
index f358b4e74d..7430caf600 100644
--- a/app/src/main/java/info/nightscout/client/data/NSTreatment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/data/NSTreatment.java
@@ -1,4 +1,4 @@
-package info.nightscout.client.data;
+package info.nightscout.androidaps.plugins.NSClientInternal.data;
import org.json.JSONException;
import org.json.JSONObject;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java
new file mode 100644
index 0000000000..7f576fde7e
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientNewLog.java
@@ -0,0 +1,30 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.events;
+
+import android.text.Html;
+import android.text.Spanned;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+/**
+ * Created by mike on 15.02.2017.
+ */
+
+public class EventNSClientNewLog {
+ public Date date = new Date();
+ public String action;
+ public String logText;
+ public EventNSClientNewLog(String action, String logText) {
+ this.action = action;
+ this.logText = logText;
+ }
+
+ public Spanned toHtml() {
+ SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm:ss");
+ Spanned line = Html.fromHtml(timeFormat.format(date) + " " + action + " " + logText + "
");
+ return line;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientRestart.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientRestart.java
new file mode 100644
index 0000000000..9bf90be31b
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientRestart.java
@@ -0,0 +1,8 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.events;
+
+/**
+ * Created by mike on 15.02.2017.
+ */
+
+public class EventNSClientRestart {
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientStatus.java
new file mode 100644
index 0000000000..6a1c721535
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientStatus.java
@@ -0,0 +1,16 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.events;
+
+/**
+ * Created by mike on 02.01.2016.
+ */
+public class EventNSClientStatus {
+ public String status = "";
+
+ public EventNSClientStatus(String status) {
+ this.status = status;
+ }
+
+ public EventNSClientStatus() {
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientUpdateGUI.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientUpdateGUI.java
new file mode 100644
index 0000000000..8f00bd3424
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/events/EventNSClientUpdateGUI.java
@@ -0,0 +1,8 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.events;
+
+/**
+ * Created by mike on 17.02.2017.
+ */
+
+public class EventNSClientUpdateGUI {
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AutoStartReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AutoStartReceiver.java
new file mode 100644
index 0000000000..dd5d3330ab
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/AutoStartReceiver.java
@@ -0,0 +1,17 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.receivers;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+
+import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
+
+public class AutoStartReceiver extends BroadcastReceiver {
+ public AutoStartReceiver() {
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ context.startService(new Intent(context, NSClientService.class));
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java
new file mode 100644
index 0000000000..44c6587fb1
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/DBAccessReceiver.java
@@ -0,0 +1,93 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.receivers;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.PowerManager;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.plugins.NSClientInternal.NSClientInternalPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue;
+import info.nightscout.androidaps.db.DbRequest;
+
+public class DBAccessReceiver extends BroadcastReceiver {
+ private static Logger log = LoggerFactory.getLogger(DBAccessReceiver.class);
+
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ PowerManager powerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
+ PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+ "sendQueue");
+ NSClientInternalPlugin nsClientInternalPlugin = (NSClientInternalPlugin) MainApp.getSpecificPlugin(NSClientInternalPlugin.class);
+ if (!nsClientInternalPlugin.isEnabled(PluginBase.GENERAL)) {
+ return;
+ }
+ wakeLock.acquire();
+ try {
+ Bundle bundles = intent.getExtras();
+ if (bundles == null) return;
+ if (!bundles.containsKey("action")) return;
+
+ String collection = null;
+ String _id = null;
+ JSONObject data = null;
+ String action = bundles.getString("action");
+ try { collection = bundles.getString("collection"); } catch (Exception e) {}
+ try { _id = bundles.getString("_id"); } catch (Exception e) {}
+ try { data = new JSONObject(bundles.getString("data")); } catch (Exception e) {}
+
+ if (data == null && !action.equals("dbRemove") || _id == null && action.equals("dbRemove")) {
+ log.debug("DBACCESS no data inside record");
+ return;
+ }
+
+ if (action.equals("dbRemove")) {
+ data = new JSONObject();
+ }
+ // mark by id
+ Long nsclientid = new Date().getTime();
+ try {
+ data.put("NSCLIENT_ID", nsclientid);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+
+ if (!isAllowedCollection(collection)) {
+ log.debug("DBACCESS wrong collection specified");
+ return;
+ }
+
+ if (action.equals("dbRemove")) {
+ DbRequest dbr = new DbRequest(action, collection, nsclientid.toString(), _id);
+ UploadQueue.add(dbr);
+ } else {
+ DbRequest dbr = new DbRequest(action, collection, nsclientid.toString(), data);
+ UploadQueue.add(dbr);
+ }
+
+ } finally {
+ wakeLock.release();
+ }
+
+ }
+
+ private boolean isAllowedCollection(String collection) {
+ // "treatments" || "entries" || "devicestatus" || "profile" || "food"
+ if (collection.equals("treatments")) return true;
+ if (collection.equals("entries")) return true;
+ if (collection.equals("devicestatus")) return true;
+ if (collection.equals("profile")) return true;
+ if (collection.equals("food")) return true;
+ return false;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/RestartReceiver.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/RestartReceiver.java
new file mode 100644
index 0000000000..a38ca842f9
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/receivers/RestartReceiver.java
@@ -0,0 +1,25 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.receivers;
+
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.support.v4.content.WakefulBroadcastReceiver;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
+import info.nightscout.androidaps.plugins.NSClientInternal.services.NSClientService;
+
+public class RestartReceiver extends WakefulBroadcastReceiver {
+ public RestartReceiver() {
+ }
+
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ startWakefulService(context, new Intent(context, NSClientService.class)
+ .setAction(intent.getAction())
+ .putExtras(intent));
+
+ MainApp.bus().post(new EventNSClientRestart());
+ completeWakefulIntent(intent);
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java
new file mode 100644
index 0000000000..b1eaae1d0e
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/NSClientInternal/services/NSClientService.java
@@ -0,0 +1,691 @@
+package info.nightscout.androidaps.plugins.NSClientInternal.services;
+
+import android.app.Service;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Binder;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.os.PowerManager;
+import android.preference.PreferenceManager;
+
+import com.google.common.base.Charsets;
+import com.google.common.hash.Hashing;
+import com.j256.ormlite.dao.CloseableIterator;
+import com.squareup.otto.Subscribe;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.URISyntaxException;
+import java.sql.SQLException;
+import java.util.Date;
+
+import info.nightscout.androidaps.Config;
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventAppExit;
+import info.nightscout.androidaps.events.EventConfigBuilderChange;
+import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.plugins.PumpDanaR.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.NSClientInternal.NSClientInternalPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.UploadQueue;
+import info.nightscout.androidaps.plugins.NSClientInternal.acks.NSAddAck;
+import info.nightscout.androidaps.plugins.NSClientInternal.acks.NSAuthAck;
+import info.nightscout.androidaps.plugins.NSClientInternal.acks.NSPingAck;
+import info.nightscout.androidaps.plugins.NSClientInternal.acks.NSUpdateAck;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastCals;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastDeviceStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastMbgs;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastSgvs;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.broadcasts.BroadcastTreatment;
+import info.nightscout.androidaps.db.DbRequest;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSCal;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSgv;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSTreatment;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientNewLog;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientRestart;
+import info.nightscout.androidaps.plugins.NSClientInternal.events.EventNSClientStatus;
+import info.nightscout.androidaps.plugins.Overview.Notification;
+import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
+import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
+import info.nightscout.utils.DateUtil;
+import info.nightscout.utils.SP;
+import io.socket.client.IO;
+import io.socket.client.Socket;
+import io.socket.emitter.Emitter;
+
+public class NSClientService extends Service {
+ private static Logger log = LoggerFactory.getLogger(ExecutionService.class);
+
+ static public PowerManager.WakeLock mWakeLock;
+ private IBinder mBinder = new NSClientService.LocalBinder();
+
+ static NSProfile nsProfile;
+
+ static public Handler handler;
+ static private HandlerThread handlerThread;
+
+ public static Socket mSocket;
+ public static boolean isConnected = false;
+ public static boolean hasWriteAuth = false;
+ private static Integer dataCounter = 0;
+ private static Integer connectCounter = 0;
+
+
+ public static String nightscoutVersionName = "";
+ public static Integer nightscoutVersionCode = 0;
+
+ private boolean nsEnabled = false;
+ static public String nsURL = "";
+ private String nsAPISecret = "";
+ private String nsDevice = "";
+ private Integer nsHours = 24;
+
+ private final Integer timeToWaitForResponseInMs = 30000;
+ private boolean uploading = false;
+ public Date lastReception = new Date();
+
+ public long latestDateInReceivedData = 0;
+
+ private String nsAPIhashCode = "";
+
+ public static UploadQueue uploadQueue = new UploadQueue();
+
+ public NSClientService() {
+ registerBus();
+ if (handler == null) {
+ handlerThread = new HandlerThread(NSClientService.class.getSimpleName() + "Handler");
+ handlerThread.start();
+ handler = new Handler(handlerThread.getLooper());
+ }
+
+ PowerManager powerManager = (PowerManager) MainApp.instance().getApplicationContext().getSystemService(Context.POWER_SERVICE);
+ mWakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "NSClientService");
+ initialize();
+ }
+
+ public class LocalBinder extends Binder {
+ public NSClientService getServiceInstance() {
+ return NSClientService.this;
+ }
+ }
+
+ @Override
+ public IBinder onBind(Intent intent) {
+ return mBinder;
+ }
+
+ @Override
+ public int onStartCommand(Intent intent, int flags, int startId) {
+
+ return START_STICKY;
+ }
+
+ private void registerBus() {
+ try {
+ MainApp.bus().unregister(this);
+ } catch (RuntimeException x) {
+ // Ignore
+ }
+ MainApp.bus().register(this);
+ }
+
+ @Subscribe
+ public void onStatusEvent(EventAppExit event) {
+ if (Config.logFunctionCalls)
+ log.debug("EventAppExit received");
+
+ destroy();
+
+ stopSelf();
+ if (Config.logFunctionCalls)
+ log.debug("EventAppExit finished");
+ }
+
+ @Subscribe
+ public void onStatusEvent(EventPreferenceChange ev) {
+ if (ev.isChanged(R.string.key_nsclientinternal_url) ||
+ ev.isChanged(R.string.key_nsclientinternal_api_secret) ||
+ ev.isChanged(R.string.key_nsclientinternal_paused)
+ ) {
+ destroy();
+ initialize();
+ }
+ }
+
+ @Subscribe
+ public void onStatusEvent(EventConfigBuilderChange ev) {
+ if (nsEnabled != MainApp.getSpecificPlugin(NSClientInternalPlugin.class).isEnabled(PluginBase.GENERAL)) {
+ destroy();
+ initialize();
+ }
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventNSClientRestart ev) {
+ latestDateInReceivedData = 0;
+ restart();
+ }
+
+ public static void setNsProfile(NSProfile profile) {
+ nsProfile = profile;
+ }
+
+ public static NSProfile getNsProfile() {
+ return nsProfile;
+ }
+
+ public void initialize() {
+ dataCounter = 0;
+
+ NSClientService.mWakeLock.acquire();
+
+ readPreferences();
+
+ if (!nsAPISecret.equals(""))
+ nsAPIhashCode = Hashing.sha1().hashString(nsAPISecret, Charsets.UTF_8).toString();
+
+ MainApp.bus().post(new EventNSClientStatus("Initializing"));
+ if (((NSClientInternalPlugin)MainApp.getSpecificPlugin(NSClientInternalPlugin.class)).paused) {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "paused"));
+ MainApp.bus().post(new EventNSClientStatus("Paused"));
+ } else if (!nsEnabled) {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "disabled"));
+ MainApp.bus().post(new EventNSClientStatus("Disabled"));
+ } else if (!nsURL.equals("")) {
+ try {
+ MainApp.bus().post(new EventNSClientStatus("Connecting ..."));
+ IO.Options opt = new IO.Options();
+ opt.forceNew = true;
+ opt.reconnection = true;
+ mSocket = IO.socket(nsURL, opt);
+ mSocket.on(Socket.EVENT_CONNECT, onConnect);
+ mSocket.on(Socket.EVENT_DISCONNECT, onDisconnect);
+ mSocket.on(Socket.EVENT_PING, onPing);
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "do connect"));
+ mSocket.connect();
+ mSocket.on("dataUpdate", onDataUpdate);
+ } catch (URISyntaxException | RuntimeException e) {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "Wrong URL syntax"));
+ MainApp.bus().post(new EventNSClientStatus("Wrong URL syntax"));
+ }
+ } else {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "No NS URL specified"));
+ MainApp.bus().post(new EventNSClientStatus("Not configured"));
+ }
+ NSClientService.mWakeLock.release();
+ }
+
+ private Emitter.Listener onConnect = new Emitter.Listener() {
+ @Override
+ public void call(Object... args) {
+ connectCounter++;
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "connect #" + connectCounter + " event. ID: " + mSocket.id()));
+ sendAuthMessage(new NSAuthAck());
+ }
+ };
+
+ private Emitter.Listener onDisconnect = new Emitter.Listener() {
+ @Override
+ public void call(Object... args) {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "disconnect event"));
+ }
+ };
+
+ public void destroy() {
+ if (mSocket != null) {
+ MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "destroy"));
+ isConnected = false;
+ hasWriteAuth = false;
+ mSocket.disconnect();
+ mSocket = null;
+ }
+ }
+
+
+ public void sendAuthMessage(NSAuthAck ack) {
+ JSONObject authMessage = new JSONObject();
+ try {
+ authMessage.put("client", "Android_" + nsDevice);
+ authMessage.put("history", nsHours);
+ authMessage.put("status", true); // receive status
+ authMessage.put("from", latestDateInReceivedData); // send data newer than
+ authMessage.put("secret", nsAPIhashCode);
+ } catch (JSONException e) {
+ e.printStackTrace();
+ return;
+ }
+ MainApp.bus().post(new EventNSClientNewLog("AUTH", "requesting auth"));
+ mSocket.emit("authorize", authMessage, ack);
+ }
+
+ @Subscribe
+ public void onStatusEvent(NSAuthAck ack) {
+ String connectionStatus = "Authenticated (";
+ if (ack.read) connectionStatus += "R";
+ if (ack.write) connectionStatus += "W";
+ if (ack.write_treatment) connectionStatus += "T";
+ connectionStatus += ')';
+ isConnected = true;
+ hasWriteAuth = ack.write && ack.write_treatment;
+ MainApp.bus().post(new EventNSClientStatus(connectionStatus));
+ MainApp.bus().post(new EventNSClientNewLog("AUTH", connectionStatus));
+ if (!ack.write) {
+ MainApp.bus().post(new EventNSClientNewLog("ERROR", "Write permission not granted !!!!"));
+ }
+ if (!ack.write_treatment) {
+ MainApp.bus().post(new EventNSClientNewLog("ERROR", "Write treatment permission not granted !!!!"));
+ }
+ if (!hasWriteAuth) {
+ Notification noperm = new Notification(Notification.NSCLIENT_NO_WRITE_PERMISSION, MainApp.sResources.getString(R.string.nowritepermission), Notification.URGENT);
+ MainApp.bus().post(new EventNewNotification(noperm));
+ } else {
+ MainApp.bus().post(new EventDismissNotification(Notification.NSCLIENT_NO_WRITE_PERMISSION));
+ }
+ lastReception = new Date();
+ }
+
+ public void readPreferences() {
+ nsEnabled = MainApp.getSpecificPlugin(NSClientInternalPlugin.class).isEnabled(PluginBase.GENERAL);
+ nsURL = SP.getString(R.string.key_nsclientinternal_url, "");
+ nsAPISecret = SP.getString(R.string.key_nsclientinternal_api_secret, "");
+ nsDevice = SP.getString("careportal_enteredby", "");
+ }
+
+ private Emitter.Listener onPing = new Emitter.Listener() {
+ @Override
+ public void call(final Object... args) {
+ if (Config.detailedLog)
+ MainApp.bus().post(new EventNSClientNewLog("PING", "received"));
+ // send data if there is something waiting
+ resend("Ping received");
+ }
+ };
+
+ private Emitter.Listener onDataUpdate = new Emitter.Listener() {
+ @Override
+ public void call(final Object... args) {
+ lastReception = new Date();
+ NSClientService.handler.post(new Runnable() {
+ @Override
+ public void run() {
+ PowerManager powerManager = (PowerManager) MainApp.instance().getApplicationContext().getSystemService(Context.POWER_SERVICE);
+ PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
+ "onDataUpdate");
+ wakeLock.acquire();
+ try {
+ SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
+
+ JSONObject data = (JSONObject) args[0];
+ NSCal actualCal = new NSCal();
+ boolean broadcastProfile = false;
+ try {
+ // delta means only increment/changes are comming
+ boolean isDelta = data.has("delta");
+ boolean isFull = !isDelta;
+ MainApp.bus().post(new EventNSClientNewLog("DATA", "Data packet #" + dataCounter++ + (isDelta ? " delta" : " full")));
+
+ if (data.has("profiles")) {
+ JSONArray profiles = (JSONArray) data.getJSONArray("profiles");
+ if (profiles.length() > 0) {
+ JSONObject profile = (JSONObject) profiles.get(profiles.length() - 1);
+ String activeProfile = NSClientService.getNsProfile() == null ? null : NSClientService.getNsProfile().getActiveProfile();
+ NSProfile nsProfile = new NSProfile(profile, activeProfile);
+ NSClientService.setNsProfile(nsProfile);
+ broadcastProfile = true;
+ MainApp.bus().post(new EventNSClientNewLog("PROFILE", "profile received"));
+ }
+ }
+
+ if (data.has("status")) {
+ JSONObject status = data.getJSONObject("status");
+ NSStatus nsStatus = new NSStatus(status);
+
+ if (!status.has("versionNum")) {
+ if (status.getInt("versionNum") < 900) {
+ MainApp.bus().post(new EventNSClientNewLog("ERROR", "Unsupported Nightscout version !!!!"));
+ }
+ } else {
+ nightscoutVersionName = status.getString("version");
+ nightscoutVersionCode = status.getInt("versionNum");
+ }
+
+ BroadcastStatus bs = new BroadcastStatus();
+ bs.handleNewStatus(nsStatus, MainApp.instance().getApplicationContext(), isDelta);
+
+ if (NSClientService.getNsProfile() != null) {
+ String oldActiveProfile = NSClientService.getNsProfile().getActiveProfile();
+ String receivedActiveProfile = nsStatus.getActiveProfile();
+ NSClientService.getNsProfile().setActiveProfile(receivedActiveProfile);
+ if (receivedActiveProfile != null) {
+ MainApp.bus().post(new EventNSClientNewLog("PROFILE", "status activeProfile received: " + receivedActiveProfile));
+ }
+ // Change possible nulls to ""
+ String oldP = oldActiveProfile == null ? "" : oldActiveProfile;
+ String newP = receivedActiveProfile == null ? "" : receivedActiveProfile;
+ if (!newP.equals(oldP)) {
+ broadcastProfile = true;
+ }
+ }
+ /* Other received data to 2016/02/10
+ {
+ status: 'ok'
+ , name: env.name
+ , version: env.version
+ , versionNum: versionNum (for ver 1.2.3 contains 10203)
+ , serverTime: new Date().toISOString()
+ , apiEnabled: apiEnabled
+ , careportalEnabled: apiEnabled && env.settings.enable.indexOf('careportal') > -1
+ , boluscalcEnabled: apiEnabled && env.settings.enable.indexOf('boluscalc') > -1
+ , head: env.head
+ , settings: env.settings
+ , extendedSettings: ctx.plugins && ctx.plugins.extendedClientSettings ? ctx.plugins.extendedClientSettings(env.extendedSettings) : {}
+ , activeProfile ..... calculated from treatments or missing
+ }
+ */
+ } else if (!isDelta) {
+ MainApp.bus().post(new EventNSClientNewLog("ERROR", "Unsupported Nightscout version !!!!"));
+ }
+
+ // If new profile received or change detected broadcast it
+ if (broadcastProfile && nsProfile != null) {
+ BroadcastProfile bp = new BroadcastProfile();
+ bp.handleNewTreatment(nsProfile, MainApp.instance().getApplicationContext(), isDelta);
+ MainApp.bus().post(new EventNSClientNewLog("PROFILE", "broadcasting"));
+ }
+
+ if (data.has("treatments")) {
+ JSONArray treatments = (JSONArray) data.getJSONArray("treatments");
+ JSONArray removedTreatments = new JSONArray();
+ JSONArray updatedTreatments = new JSONArray();
+ JSONArray addedTreatments = new JSONArray();
+ BroadcastTreatment bt = new BroadcastTreatment();
+ if (treatments.length() > 0)
+ MainApp.bus().post(new EventNSClientNewLog("DATA", "received " + treatments.length() + " treatments"));
+ for (Integer index = 0; index < treatments.length(); index++) {
+ JSONObject jsonTreatment = treatments.getJSONObject(index);
+ NSTreatment treatment = new NSTreatment(jsonTreatment);
+
+ // remove from upload queue if Ack is failing
+ UploadQueue.removeID(jsonTreatment);
+ //Find latest date in treatment
+ if (treatment.getMills() != null && treatment.getMills() < new Date().getTime())
+ if (treatment.getMills() > latestDateInReceivedData)
+ latestDateInReceivedData = treatment.getMills();
+
+ if (treatment.getAction() == null) {
+ if (!isCurrent(treatment)) continue;
+ addedTreatments.put(jsonTreatment);
+ } else if (treatment.getAction().equals("update")) {
+ if (!isCurrent(treatment)) continue;
+ updatedTreatments.put(jsonTreatment);
+ } else if (treatment.getAction().equals("remove")) {
+ removedTreatments.put(jsonTreatment);
+ }
+ }
+ if (removedTreatments.length() > 0) {
+ bt.handleRemovedTreatment(removedTreatments, MainApp.instance().getApplicationContext(), isDelta);
+ }
+ if (updatedTreatments.length() > 0) {
+ bt.handleChangedTreatment(updatedTreatments, MainApp.instance().getApplicationContext(), isDelta);
+ }
+ if (addedTreatments.length() > 0) {
+ bt.handleNewTreatment(addedTreatments, MainApp.instance().getApplicationContext(), isDelta);
+ }
+ }
+ if (data.has("devicestatus")) {
+ BroadcastDeviceStatus bds = new BroadcastDeviceStatus();
+ JSONArray devicestatuses = (JSONArray) data.getJSONArray("devicestatus");
+ if (devicestatuses.length() > 0) {
+ MainApp.bus().post(new EventNSClientNewLog("DATA", "received " + devicestatuses.length() + " devicestatuses"));
+ for (Integer index = 0; index < devicestatuses.length(); index++) {
+ JSONObject jsonStatus = devicestatuses.getJSONObject(index);
+ // remove from upload queue if Ack is failing
+ UploadQueue.removeID(jsonStatus);
+ }
+ // send only last record
+ bds.handleNewDeviceStatus(devicestatuses.getJSONObject(devicestatuses.length() - 1), MainApp.instance().getApplicationContext(), isDelta);
+ }
+ }
+ if (data.has("mbgs")) {
+ BroadcastMbgs bmbg = new BroadcastMbgs();
+ JSONArray mbgs = (JSONArray) data.getJSONArray("mbgs");
+ if (mbgs.length() > 0)
+ MainApp.bus().post(new EventNSClientNewLog("DATA", "received " + mbgs.length() + " mbgs"));
+ for (Integer index = 0; index < mbgs.length(); index++) {
+ JSONObject jsonMbg = mbgs.getJSONObject(index);
+ // remove from upload queue if Ack is failing
+ UploadQueue.removeID(jsonMbg);
+ }
+ bmbg.handleNewMbg(mbgs, MainApp.instance().getApplicationContext(), isDelta);
+ }
+ if (data.has("cals")) {
+ BroadcastCals bc = new BroadcastCals();
+ JSONArray cals = (JSONArray) data.getJSONArray("cals");
+ if (cals.length() > 0)
+ MainApp.bus().post(new EventNSClientNewLog("DATA", "received " + cals.length() + " cals"));
+ // Retreive actual calibration
+ for (Integer index = 0; index < cals.length(); index++) {
+ if (index == 0) {
+ actualCal.set(cals.optJSONObject(index));
+ }
+ // remove from upload queue if Ack is failing
+ UploadQueue.removeID(cals.optJSONObject(index));
+ }
+ bc.handleNewCal(cals, MainApp.instance().getApplicationContext(), isDelta);
+ }
+ if (data.has("sgvs")) {
+ BroadcastSgvs bs = new BroadcastSgvs();
+ String units = nsProfile != null ? nsProfile.getUnits() : "mg/dl";
+ JSONArray sgvs = (JSONArray) data.getJSONArray("sgvs");
+ if (sgvs.length() > 0)
+ MainApp.bus().post(new EventNSClientNewLog("DATA", "received " + sgvs.length() + " sgvs"));
+ for (Integer index = 0; index < sgvs.length(); index++) {
+ JSONObject jsonSgv = sgvs.getJSONObject(index);
+ // MainApp.bus().post(new EventNSClientNewLog("DATA", "svg " + sgvs.getJSONObject(index).toString());
+ NSSgv sgv = new NSSgv(jsonSgv);
+ // Handle new sgv here
+ // remove from upload queue if Ack is failing
+ UploadQueue.removeID(jsonSgv);
+ //Find latest date in sgv
+ if (sgv.getMills() != null && sgv.getMills() < new Date().getTime())
+ if (sgv.getMills() > latestDateInReceivedData)
+ latestDateInReceivedData = sgv.getMills();
+ }
+ bs.handleNewSgv(sgvs, MainApp.instance().getApplicationContext(), isDelta);
+ }
+ MainApp.bus().post(new EventNSClientNewLog("LAST", DateUtil.dateAndTimeString(latestDateInReceivedData)));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ //MainApp.bus().post(new EventNSClientNewLog("NSCLIENT", "onDataUpdate end");
+ } finally {
+ wakeLock.release();
+ }
+ }
+
+ });
+ }
+ };
+
+ public void dbUpdate(DbRequest dbr, NSUpdateAck ack) {
+ try {
+ if (!isConnected || !hasWriteAuth) return;
+ JSONObject message = new JSONObject();
+ message.put("collection", dbr.collection);
+ message.put("_id", dbr._id);
+ message.put("data", new JSONObject(dbr.data));
+ mSocket.emit("dbUpdate", message, ack);
+ MainApp.bus().post(new EventNSClientNewLog("DBUPDATE " + dbr.collection, "Sent " + dbr._id));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void dbUpdateUnset(DbRequest dbr, NSUpdateAck ack) {
+ try {
+ if (!isConnected || !hasWriteAuth) return;
+ JSONObject message = new JSONObject();
+ message.put("collection", dbr.collection);
+ message.put("_id", dbr._id);
+ message.put("data", new JSONObject(dbr.data));
+ mSocket.emit("dbUpdateUnset", message, ack);
+ MainApp.bus().post(new EventNSClientNewLog("DBUPDATEUNSET " + dbr.collection, "Sent " + dbr._id));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ public void dbRemove(DbRequest dbr, NSUpdateAck ack) {
+ try {
+ if (!isConnected || !hasWriteAuth) return;
+ JSONObject message = new JSONObject();
+ message.put("collection", dbr.collection);
+ message.put("_id", dbr._id);
+ mSocket.emit("dbRemove", message, ack);
+ MainApp.bus().post(new EventNSClientNewLog("DBREMOVE " + dbr.collection, "Sent " + dbr._id));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Subscribe
+ public void onStatusEvent(NSUpdateAck ack) {
+ if (ack.result) {
+ uploadQueue.removeID(ack.action, ack._id);
+ MainApp.bus().post(new EventNSClientNewLog("DBUPDATE/DBREMOVE", "Acked " + ack._id));
+ } else {
+ MainApp.bus().post(new EventNSClientNewLog("ERROR", "DBUPDATE/DBREMOVE Unknown response"));
+ }
+ }
+
+ public void dbAdd(DbRequest dbr, NSAddAck ack) {
+ try {
+ if (!isConnected || !hasWriteAuth) return;
+ JSONObject message = new JSONObject();
+ message.put("collection", dbr.collection);
+ message.put("data", new JSONObject(dbr.data));
+ mSocket.emit("dbAdd", message, ack);
+ MainApp.bus().post(new EventNSClientNewLog("DBADD " + dbr.collection, "Sent " + dbr.nsClientID));
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Subscribe
+ public void onStatusEvent(NSAddAck ack) {
+ if (ack.nsClientID != null) {
+ uploadQueue.removeID(ack.json);
+ MainApp.bus().post(new EventNSClientNewLog("DBADD", "Acked " + ack.nsClientID));
+ } else {
+ MainApp.bus().post(new EventNSClientNewLog("ERROR", "DBADD Unknown response"));
+ }
+ }
+
+ public void doPing() {
+ if (!isConnected || !hasWriteAuth) return;
+ MainApp.bus().post(new EventNSClientNewLog("PING", "Sending"));
+ uploading = true;
+ JSONObject message = new JSONObject();
+ try {
+ message.put("mills", new Date().getTime());
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ NSPingAck ack = new NSPingAck();
+ mSocket.emit("nsping", message, ack);
+ synchronized (ack) {
+ try {
+ ack.wait(timeToWaitForResponseInMs);
+ } catch (InterruptedException e) {
+ }
+ }
+ if (ack.received) {
+ String connectionStatus = "Pong received";
+ if (ack.auth_received) {
+ connectionStatus += ": ";
+ if (ack.read) connectionStatus += "R";
+ if (ack.write) connectionStatus += "W";
+ if (ack.write_treatment) connectionStatus += "T";
+ }
+ if (!ack.read) sendAuthMessage(new NSAuthAck());
+ MainApp.bus().post(new EventNSClientNewLog("AUTH ", connectionStatus));
+ } else {
+ MainApp.bus().post(new EventNSClientNewLog("PING", "Ping lost"));
+ }
+ uploading = false;
+ }
+
+ private boolean isCurrent(NSTreatment treatment) {
+ long now = (new Date()).getTime();
+ long minPast = now - nsHours * 60L * 60 * 1000;
+ if (treatment.getMills() == null) {
+ log.debug("treatment.getMills() == null " + treatment.getData().toString());
+ return false;
+ }
+ if (treatment.getMills() > minPast) return true;
+ return false;
+ }
+
+ public void resend(final String reason) {
+ if (UploadQueue.size() == 0)
+ return;
+
+ if (!isConnected || !hasWriteAuth) return;
+
+ MainApp.bus().post(new EventNSClientNewLog("QUEUE", "Resend started: " + reason));
+
+ handler.post(new Runnable() {
+ @Override
+ public void run() {
+ Logger log = LoggerFactory.getLogger(UploadQueue.class);
+ if (mSocket == null || !mSocket.connected()) return;
+
+ CloseableIterator iterator = null;
+ try {
+ iterator = MainApp.getDbHelper().getDaoDbRequest().closeableIterator();
+ try {
+ while (iterator.hasNext()) {
+ DbRequest dbr = iterator.next();
+ if (dbr.action.equals("dbAdd")) {
+ NSAddAck addAck = new NSAddAck();
+ dbAdd(dbr, addAck);
+ } else if (dbr.action.equals("dbRemove")) {
+ NSUpdateAck removeAck = new NSUpdateAck(dbr.action, dbr._id);
+ dbRemove(dbr, removeAck);
+ } else if (dbr.action.equals("dbUpdate")) {
+ NSUpdateAck updateAck = new NSUpdateAck(dbr.action, dbr._id);
+ dbUpdate(dbr, updateAck);
+ } else if (dbr.action.equals("dbUpdateUnset")) {
+ NSUpdateAck updateUnsetAck = new NSUpdateAck(dbr.action, dbr._id);
+ dbUpdateUnset(dbr, updateUnsetAck);
+ }
+ }
+ } finally {
+ iterator.close();
+ }
+ } catch (SQLException e) {
+ e.printStackTrace();
+ }
+
+ MainApp.bus().post(new EventNSClientNewLog("QUEUE", "Resend ended: " + reason));
+ }
+ });
+ }
+
+ public void restart() {
+ destroy();
+ initialize();
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java
deleted file mode 100644
index eb449b96c8..0000000000
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/Autosens.java
+++ /dev/null
@@ -1,242 +0,0 @@
-package info.nightscout.androidaps.plugins.OpenAPSAMA;
-
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import info.nightscout.androidaps.Constants;
-import info.nightscout.androidaps.MainApp;
-import info.nightscout.androidaps.data.IobTotal;
-import info.nightscout.androidaps.db.BgReading;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.Round;
-import info.nightscout.utils.SafeParse;
-
-
-public class Autosens {
- private static Logger log = LoggerFactory.getLogger(Autosens.class);
-
- public static AutosensResult detectSensitivityandCarbAbsorption(List glucose_data, Long mealTime) {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
-
- //console.error(mealTime);
-
- double deviationSum = 0;
- double carbsAbsorbed = 0;
-
- List bucketed_data = new ArrayList<>();
- bucketed_data.add(glucose_data.get(0));
- int j = 0;
- for (int i = 1; i < glucose_data.size(); ++i) {
- long bgTime = glucose_data.get(i).getTimeIndex();
- long lastbgTime = glucose_data.get(i - 1).getTimeIndex();
- if (glucose_data.get(i).value < 39 || glucose_data.get(i - 1).value < 39) {
- continue;
- }
-
- long elapsed_minutes = (bgTime - lastbgTime) / (60 * 1000);
- if (Math.abs(elapsed_minutes) > 8) {
- // interpolate missing data points
- double lastbg = glucose_data.get(i - 1).value;
- elapsed_minutes = Math.abs(elapsed_minutes);
- //console.error(elapsed_minutes);
- long nextbgTime;
- while (elapsed_minutes > 5) {
- nextbgTime = lastbgTime + 5 * 60 * 1000;
- j++;
- BgReading newBgreading = new BgReading();
- newBgreading.timeIndex = nextbgTime;
- double gapDelta = glucose_data.get(i).value - lastbg;
- //console.error(gapDelta, lastbg, elapsed_minutes);
- double nextbg = lastbg + (5 / elapsed_minutes * gapDelta);
- newBgreading.value = Math.round(nextbg);
- //console.error("Interpolated", bucketed_data[j]);
- bucketed_data.add(newBgreading);
-
- elapsed_minutes = elapsed_minutes - 5;
- lastbg = nextbg;
- lastbgTime = nextbgTime;
- }
- } else if (Math.abs(elapsed_minutes) > 2) {
- j++;
- BgReading newBgreading = new BgReading();
- newBgreading.value = glucose_data.get(i).value;
- newBgreading.timeIndex = bgTime;
- bucketed_data.add(newBgreading);
- } else {
- bucketed_data.get(j).value = (bucketed_data.get(j).value + glucose_data.get(i).value) / 2;
- }
- }
- //console.error(bucketed_data);
- double[] avgDeltas = new double[bucketed_data.size() - 2];
- double[] bgis = new double[bucketed_data.size() - 2];
- double[] deviations = new double[bucketed_data.size() - 2];
-
- String pastSensitivity = "";
- for (int i = 0; i < bucketed_data.size() - 3; ++i) {
- long bgTime = bucketed_data.get(i).timeIndex;
- int secondsFromMidnight = NSProfile.secondsFromMidnight(new Date(bgTime));
-
- double sens = NSProfile.toMgdl(profile.getIsf(secondsFromMidnight), profile.getUnits());
-
- //console.error(bgTime , bucketed_data[i].glucose);
- double bg;
- double avgDelta;
- double delta;
- bg = bucketed_data.get(i).value;
- if (bg < 40 || bucketed_data.get(i + 3).value < 40) {
- log.error("! value < 40");
- continue;
- }
- avgDelta = (bg - bucketed_data.get(i + 3).value) / 3;
- delta = (bg - bucketed_data.get(i + 1).value);
-
-// avgDelta = avgDelta.toFixed(2);
- IobTotal iob = IobTotal.calulateFromTreatmentsAndTemps(bgTime);
-
- double bgi = Math.round((-iob.activity * sens * 5) * 100) / 100d;
-// bgi = bgi.toFixed(2);
- //console.error(delta);
- double deviation = delta - bgi;
-// deviation = deviation.toFixed(2);
- //if (deviation < 0 && deviation > -2) { console.error("BG: "+bg+", avgDelta: "+avgDelta+", BGI: "+bgi+", deviation: "+deviation); }
-
- // Exclude large positive deviations (carb absorption) from autosens
- if (avgDelta - bgi < 6) {
- if (deviation > 0) {
- pastSensitivity += "+";
- } else if (deviation == 0) {
- pastSensitivity += "=";
- } else {
- pastSensitivity += "-";
- }
- avgDeltas[i] = avgDelta;
- bgis[i] = bgi;
- deviations[i] = deviation;
- deviationSum += deviation;
- } else {
- pastSensitivity += ">";
- //console.error(bgTime);
- }
- //log.debug("TIME: " + new Date(bgTime).toString() + " BG: " + bg + " SENS: " + sens + " DELTA: " + delta + " AVGDELTA: " + avgDelta + " IOB: " + iob.iob + " ACTIVITY: " + iob.activity + " BGI: " + bgi + " DEVIATION: " + deviation);
-
- // if bgTime is more recent than mealTime
- if (mealTime != null && bgTime > mealTime) {
- // figure out how many carbs that represents
- // but always assume at least 3mg/dL/5m (default) absorption
- double ci = Math.max(deviation, SafeParse.stringToDouble(SP.getString("openapsama_min_5m_carbimpact", "3.0")));
- double absorbed = ci * profile.getIc(secondsFromMidnight) / sens;
- // and add that to the running total carbsAbsorbed
- carbsAbsorbed += absorbed;
- }
- }
-
- double ratio = 1;
- String ratioLimit = "";
- String sensResult = "";
-
- if (mealTime == null) {
- //console.error("");
- log.debug(pastSensitivity);
- //console.log(JSON.stringify(avgDeltas));
- //console.log(JSON.stringify(bgis));
- Arrays.sort(avgDeltas);
- Arrays.sort(bgis);
- Arrays.sort(deviations);
-
- for (double i = 0.9; i > 0.1; i = i - 0.02) {
- //console.error("p="+i.toFixed(2)+": "+percentile(avgDeltas, i).toFixed(2)+", "+percentile(bgis, i).toFixed(2)+", "+percentile(deviations, i).toFixed(2));
- if (percentile(deviations, (i + 0.02)) >= 0 && percentile(deviations, i) < 0) {
- //console.error("p="+i.toFixed(2)+": "+percentile(avgDeltas, i).toFixed(2)+", "+percentile(bgis, i).toFixed(2)+", "+percentile(deviations, i).toFixed(2));
- log.debug(Math.round(100 * i) + "% of non-meal deviations negative (target 45%-50%)");
- }
- }
- double pSensitive = percentile(deviations, 0.50);
- double pResistant = percentile(deviations, 0.45);
- //p30 = percentile(deviations, 0.3);
-
-// average = deviationSum / deviations.length;
-
- //console.error("Mean deviation: "+average.toFixed(2));
- double basalOff = 0;
-
- if (pSensitive < 0) { // sensitive
- basalOff = pSensitive * (60 / 5) / NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits());
- sensResult = "Excess insulin sensitivity detected";
- } else if (pResistant > 0) { // resistant
- basalOff = pResistant * (60 / 5) / NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits());
- sensResult = "Excess insulin resistance detected";
- } else {
- sensResult = "Sensitivity normal";
- }
- log.debug(sensResult);
- ratio = 1 + (basalOff / profile.getMaxDailyBasal());
-
- // don't adjust more than 1.5x
- double rawRatio = ratio;
- ratio = Math.max(ratio, SafeParse.stringToDouble(SP.getString("openapsama_autosens_min", "0.7")));
- ratio = Math.min(ratio, SafeParse.stringToDouble(SP.getString("openapsama_autosens_max", "1.2")));
-
- if (ratio != rawRatio) {
- ratioLimit = "Ratio limited from " + rawRatio + " to " + ratio;
- log.debug(ratioLimit);
- }
-
- double newisf = Math.round(NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits()) / ratio);
- if (ratio != 1) {
- log.debug("ISF adjusted from " + NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()), profile.getUnits()) + " to " + newisf);
- }
- //console.error("Basal adjustment "+basalOff.toFixed(2)+"U/hr");
- //console.error("Ratio: "+ratio*100+"%: new ISF: "+newisf.toFixed(1)+"mg/dL/U");
- }
-
- AutosensResult output = new AutosensResult();
- output.ratio = Round.roundTo(ratio, 0.01);
- output.carbsAbsorbed = Round.roundTo(carbsAbsorbed, 0.01);
- output.pastSensitivity = pastSensitivity;
- output.ratioLimit = ratioLimit;
- output.sensResult = sensResult;
- return output;
- }
-
- // From https://gist.github.com/IceCreamYou/6ffa1b18c4c8f6aeaad2
- // Returns the value at a given percentile in a sorted numeric array.
- // "Linear interpolation between closest ranks" method
- public static double percentile(double[] arr, double p) {
- if (arr.length == 0) return 0;
- if (p <= 0) return arr[0];
- if (p >= 1) return arr[arr.length - 1];
-
- double index = arr.length * p,
- lower = Math.floor(index),
- upper = lower + 1,
- weight = index % 1;
-
- if (upper >= arr.length) return arr[(int) lower];
- return arr[(int) lower] * (1 - weight) + arr[(int) upper] * weight;
- }
-
- // Returns the percentile of the given value in a sorted numeric array.
- public static double percentRank(double[] arr, double v) {
- for (int i = 0, l = arr.length; i < l; i++) {
- if (v <= arr[i]) {
- while (i < l && v == arr[i]) i++;
- if (i == 0) return 0;
- if (v != arr[i - 1]) {
- i += (v - arr[i - 1]) / (arr[i] - arr[i - 1]);
- }
- return i / l;
- }
- }
- return 1;
- }
-
-}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java
index aa6c0ae36d..e2c7f20284 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/DetermineBasalAdapterAMAJS.java
@@ -1,8 +1,5 @@
package info.nightscout.androidaps.plugins.OpenAPSAMA;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-
import com.eclipsesource.v8.JavaVoidCallback;
import com.eclipsesource.v8.V8;
import com.eclipsesource.v8.V8Array;
@@ -16,18 +13,16 @@ import org.slf4j.LoggerFactory;
import java.io.IOException;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.data.MealData;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderFragment;
-import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin;
import info.nightscout.androidaps.plugins.Loop.ScriptReader;
import info.nightscout.androidaps.data.IobTotal;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
public class DetermineBasalAdapterAMAJS {
private static Logger log = LoggerFactory.getLogger(DetermineBasalAdapterAMAJS.class);
@@ -209,7 +204,6 @@ public class DetermineBasalAdapterAMAJS {
double min_5m_carbimpact) {
String units = profile.getUnits();
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
mProfile = new V8Object(mV8rt);
mProfile.add("max_iob", maxIob);
@@ -222,13 +216,13 @@ public class DetermineBasalAdapterAMAJS {
mProfile.add("target_bg", targetBg);
mProfile.add("carb_ratio", profile.getIc(profile.secondsFromMidnight()));
mProfile.add("sens", NSProfile.toMgdl(profile.getIsf(NSProfile.secondsFromMidnight()).doubleValue(), units));
- mProfile.add("max_daily_safety_multiplier", SafeParse.stringToInt(preferences.getString("openapsama_max_daily_safety_multiplier", "3")));
- mProfile.add("current_basal_safety_multiplier", SafeParse.stringToInt(preferences.getString("openapsama_current_basal_safety_multiplier", "4")));
+ mProfile.add("max_daily_safety_multiplier", SP.getInt("openapsama_max_daily_safety_multiplier", 3));
+ mProfile.add("current_basal_safety_multiplier", SP.getInt("openapsama_current_basal_safety_multiplier", 4));
mProfile.add("skip_neutral_temps", true);
mProfile.add("current_basal", pump.getBaseBasalRate());
mProfile.add("temptargetSet", tempTargetSet);
- mProfile.add("autosens_adjust_targets", preferences.getBoolean("openapsama_autosens_adjusttargets", true));
- mProfile.add("min_5m_carbimpact", SafeParse.stringToDouble(preferences.getString("openapsama_min_5m_carbimpact", "3.0")));
+ mProfile.add("autosens_adjust_targets", SP.getBoolean("openapsama_autosens_adjusttargets", true));
+ mProfile.add("min_5m_carbimpact", SP.getDouble("openapsama_min_5m_carbimpact", 3d));
mV8rt.add(PARAM_profile, mProfile);
mCurrentTemp = new V8Object(mV8rt);
@@ -244,7 +238,7 @@ public class DetermineBasalAdapterAMAJS {
mV8rt.add(PARAM_currentTemp, mCurrentTemp);
- mIobData = mV8rt.executeArrayScript(IobTotal.convertToJSONArray(iobArray).toString());
+ mIobData = mV8rt.executeArrayScript(IobCobCalculatorPlugin.convertToJSONArray(iobArray).toString());
mV8rt.add(PARAM_iobData, mIobData);
mGlucoseStatus = new V8Object(mV8rt);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java
index 4a8ce51266..c480ebfe3c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAFragment.java
@@ -9,6 +9,8 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.json.JSONArray;
@@ -18,12 +20,11 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui;
import info.nightscout.utils.JSONFormatter;
-public class OpenAPSAMAFragment extends Fragment implements View.OnClickListener, FragmentBase {
+public class OpenAPSAMAFragment extends Fragment implements View.OnClickListener {
private static Logger log = LoggerFactory.getLogger(OpenAPSAMAFragment.class);
private static OpenAPSAMAPlugin openAPSAMAPlugin;
@@ -74,6 +75,7 @@ public class OpenAPSAMAFragment extends Fragment implements View.OnClickListener
switch (view.getId()) {
case R.id.openapsma_run:
getPlugin().invoke("OpenAPSAMA button");
+ Answers.getInstance().logCustom(new CustomEvent("OpenAPS_AMA_Run"));
break;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java
index 49d5b760b9..ee8caea6b4 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSAMA/OpenAPSAMAPlugin.java
@@ -1,15 +1,11 @@
package info.nightscout.androidaps.plugins.OpenAPSAMA;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-
import org.json.JSONException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.util.Date;
-import java.util.List;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.Constants;
@@ -17,22 +13,23 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.data.MealData;
-import info.nightscout.androidaps.db.BgReading;
import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.interfaces.APSInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.androidaps.interfaces.TempBasalsInterface;
+import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult;
+import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin;
import info.nightscout.androidaps.plugins.Loop.APSResult;
import info.nightscout.androidaps.plugins.Loop.ScriptReader;
import info.nightscout.androidaps.data.IobTotal;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui;
import info.nightscout.androidaps.plugins.TempTargetRange.TempTargetRangePlugin;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.Profiler;
import info.nightscout.utils.Round;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
@@ -82,6 +79,16 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentVisible(int type, boolean fragmentVisible) {
if (type == APS) this.fragmentVisible = fragmentVisible;
@@ -142,7 +149,7 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
return;
}
- if (profile == null) {
+ if (profile == null || profile.getIc(NSProfile.secondsFromMidnight()) == null || profile.getIsf(NSProfile.secondsFromMidnight()) == null || profile.getBasal(NSProfile.secondsFromMidnight()) == null ) {
MainApp.bus().post(new EventOpenAPSUpdateResultGui(MainApp.instance().getString(R.string.openapsma_noprofile)));
if (Config.logAPSResult)
log.debug(MainApp.instance().getString(R.string.openapsma_noprofile));
@@ -156,12 +163,11 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
return;
}
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
String units = profile.getUnits();
- String maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
- String minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
- String targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
+ Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
+ Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
+ Double targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
if (!units.equals(Constants.MGDL)) {
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
@@ -170,18 +176,18 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
Date now = new Date();
- double maxIob = SafeParse.stringToDouble(SP.getString("openapsma_max_iob", "1.5"));
- double maxBasal = SafeParse.stringToDouble(SP.getString("openapsma_max_basal", "1"));
- double minBg = NSProfile.toMgdl(SafeParse.stringToDouble(SP.getString("openapsma_min_bg", minBgDefault)), units);
- double maxBg = NSProfile.toMgdl(SafeParse.stringToDouble(SP.getString("openapsma_max_bg", maxBgDefault)), units);
- double targetBg = NSProfile.toMgdl(SafeParse.stringToDouble(SP.getString("openapsma_target_bg", targetBgDefault)), units);
+ double maxIob = SP.getDouble("openapsma_max_iob", 1.5d);
+ double maxBasal = SP.getDouble("openapsma_max_basal", 1d);
+ double minBg = NSProfile.toMgdl(SP.getDouble("openapsma_min_bg", minBgDefault), units);
+ double maxBg = NSProfile.toMgdl(SP.getDouble("openapsma_max_bg", maxBgDefault), units);
+ double targetBg = NSProfile.toMgdl(SP.getDouble("openapsma_target_bg", targetBgDefault), units);
minBg = Round.roundTo(minBg, 0.1d);
maxBg = Round.roundTo(maxBg, 0.1d);
Date start = new Date();
Date startPart = new Date();
- IobTotal[] iobArray = IobTotal.calculateIobArrayInDia();
+ IobTotal[] iobArray = IobCobCalculatorPlugin.calculateIobArrayInDia();
Profiler.log(log, "calculateIobArrayInDia()", startPart);
startPart = new Date();
@@ -216,15 +222,14 @@ public class OpenAPSAMAPlugin implements PluginBase, APSInterface {
if (!checkOnlyHardLimits(profile.getMaxDailyBasal(), "max_daily_basal", 0.1, 10)) return;
if (!checkOnlyHardLimits(pump.getBaseBasalRate(), "current_basal", 0.01, 5)) return;
- startPart = new Date();
long oldestDataAvailable = MainApp.getConfigBuilder().getActiveTempBasals().oldestDataAvaialable();
- List bgReadings = MainApp.getDbHelper().getBgreadingsDataFromTime(Math.max(oldestDataAvailable, (long) (new Date().getTime() - 60 * 60 * 1000L * (24 + profile.getDia()))), false);
- log.debug("Limiting data to oldest available temps: " + new Date(oldestDataAvailable).toString() + " (" + bgReadings.size() + " records)");
- Profiler.log(log, "getBgreadingsDataFromTime()", startPart);
+ long getBGDataFrom = Math.max(oldestDataAvailable, (long) (new Date().getTime() - 60 * 60 * 1000L * (24 + profile.getDia())));
+ log.debug("Limiting data to oldest available temps: " + new Date(oldestDataAvailable).toString());
startPart = new Date();
if(MainApp.getConfigBuilder().isAMAModeEnabled()){
- lastAutosensResult = Autosens.detectSensitivityandCarbAbsorption(bgReadings, null);
+ //lastAutosensResult = Autosens.detectSensitivityandCarbAbsorption(getBGDataFrom, null);
+ lastAutosensResult = IobCobCalculatorPlugin.detectSensitivity(getBGDataFrom);
} else {
lastAutosensResult = new AutosensResult();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java
index 75c68cd5cc..75f87021c5 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/DetermineBasalAdapterMAJS.java
@@ -18,7 +18,7 @@ import info.nightscout.androidaps.data.IobTotal;
import info.nightscout.androidaps.data.MealData;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Loop.ScriptReader;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
public class DetermineBasalAdapterMAJS {
private static Logger log = LoggerFactory.getLogger(DetermineBasalAdapterMAJS.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java
index 8805ba18b7..16249dffc3 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAFragment.java
@@ -9,6 +9,8 @@ import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -16,18 +18,17 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui;
import info.nightscout.utils.JSONFormatter;
-public class OpenAPSMAFragment extends Fragment implements View.OnClickListener, FragmentBase {
+public class OpenAPSMAFragment extends Fragment implements View.OnClickListener {
private static Logger log = LoggerFactory.getLogger(OpenAPSMAFragment.class);
private static OpenAPSMAPlugin openAPSMAPlugin;
public static OpenAPSMAPlugin getPlugin() {
- if(openAPSMAPlugin==null){
+ if (openAPSMAPlugin == null) {
openAPSMAPlugin = new OpenAPSMAPlugin();
}
return openAPSMAPlugin;
@@ -68,6 +69,7 @@ public class OpenAPSMAFragment extends Fragment implements View.OnClickListener,
switch (view.getId()) {
case R.id.openapsma_run:
getPlugin().invoke("OpenAPSMA button");
+ Answers.getInstance().logCustom(new CustomEvent("OpenAPS_MA_Run"));
break;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java
index a3d5c3c508..1e7bec7471 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSMA/OpenAPSMAPlugin.java
@@ -1,8 +1,5 @@
package info.nightscout.androidaps.plugins.OpenAPSMA;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-
import org.json.JSONException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,15 +22,15 @@ import info.nightscout.androidaps.interfaces.TempBasalsInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.plugins.Loop.APSResult;
import info.nightscout.androidaps.plugins.Loop.ScriptReader;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateResultGui;
import info.nightscout.androidaps.plugins.TempTargetRange.TempTargetRangePlugin;
-import info.nightscout.client.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.Profiler;
import info.nightscout.utils.Round;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
-import info.nightscout.utils.ToastUtils;
import static info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin.checkOnlyHardLimits;
import static info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin.verifyHardLimits;
@@ -83,6 +80,16 @@ public class OpenAPSMAPlugin implements PluginBase, APSInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentVisible(int type, boolean fragmentVisible) {
if (type == APS) this.fragmentVisible = fragmentVisible;
@@ -157,12 +164,11 @@ public class OpenAPSMAPlugin implements PluginBase, APSInterface {
return;
}
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
String units = profile.getUnits();
- String maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
- String minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
- String targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
+ Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
+ Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
+ Double targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
if (!units.equals(Constants.MGDL)) {
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
@@ -171,11 +177,11 @@ public class OpenAPSMAPlugin implements PluginBase, APSInterface {
Date now = new Date();
- double maxIob = SafeParse.stringToDouble(SP.getString("openapsma_max_iob", "1.5"));
+ double maxIob = SP.getDouble("openapsma_max_iob", 1.5d);
double maxBasal = SafeParse.stringToDouble(SP.getString("openapsma_max_basal", "1"));
- double minBg = NSProfile.toMgdl(SafeParse.stringToDouble(SP.getString("openapsma_min_bg", minBgDefault)), units);
- double maxBg = NSProfile.toMgdl(SafeParse.stringToDouble(SP.getString("openapsma_max_bg", maxBgDefault)), units);
- double targetBg = NSProfile.toMgdl(SafeParse.stringToDouble(SP.getString("openapsma_target_bg", targetBgDefault)), units);
+ double minBg = NSProfile.toMgdl(SP.getDouble("openapsma_min_bg", minBgDefault), units);
+ double maxBg = NSProfile.toMgdl(SP.getDouble("openapsma_max_bg", maxBgDefault), units);
+ double targetBg = NSProfile.toMgdl(SP.getDouble("openapsma_target_bg", targetBgDefault), units);
minBg = Round.roundTo(minBg, 0.1d);
maxBg = Round.roundTo(maxBg, 0.1d);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/BolusProgressDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/BolusProgressDialog.java
index dfedda106e..f536af5860 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/BolusProgressDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/BolusProgressDialog.java
@@ -18,10 +18,11 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PumpInterface;
+import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning;
import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRBolusStart;
public class BolusProgressDialog extends DialogFragment implements View.OnClickListener {
private static Logger log = LoggerFactory.getLogger(BolusProgressDialog.class);
@@ -46,7 +47,7 @@ public class BolusProgressDialog extends DialogFragment implements View.OnClickL
bolusEnded = false;
}
- public void setHelperActivity(BolusProgressHelperActivity activity){
+ public void setHelperActivity(BolusProgressHelperActivity activity) {
this.helperActivity = activity;
}
@@ -77,9 +78,9 @@ public class BolusProgressDialog extends DialogFragment implements View.OnClickL
}
@Override
- public void dismiss(){
+ public void dismiss() {
super.dismiss();
- if (helperActivity!= null){
+ if (helperActivity != null) {
helperActivity.finish();
}
}
@@ -128,7 +129,14 @@ public class BolusProgressDialog extends DialogFragment implements View.OnClickL
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventDismissBolusprogressIfRunning ev) {
+ if(BolusProgressDialog.running){
+ dismiss();
+ }
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventPumpStatusChanged c) {
Activity activity = getActivity();
if (activity != null) {
@@ -136,14 +144,7 @@ public class BolusProgressDialog extends DialogFragment implements View.OnClickL
new Runnable() {
@Override
public void run() {
- if (c.sStatus == c.CONNECTING) {
- statusView.setText(String.format(MainApp.sResources.getString(R.string.danar_history_connectingfor), c.sSecondsElapsed));
- } else if (c.sStatus == c.CONNECTED) {
- statusView.setText(MainApp.sResources.getString(R.string.connected));
- } else {
- statusView.setText(MainApp.sResources.getString(R.string.disconnected));
- if (started) scheduleDismiss();
- }
+ statusView.setText(c.textStatus());
}
}
);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java
index 9e06bbb600..6ff9dceb1f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/CalibrationDialog.java
@@ -12,6 +12,9 @@ import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -21,7 +24,7 @@ import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.GlucoseStatus;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.PlusMinusEditText;
import info.nightscout.utils.XdripCalibrations;
@@ -32,14 +35,16 @@ public class CalibrationDialog extends DialogFragment implements View.OnClickLis
PlusMinusEditText bgText;
TextView unitsView;
- Context parentContext;
+ Context context;
public CalibrationDialog() {
// Required empty public constructor
}
- public void setContext(Context context) {
- parentContext = context;
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ this.context = context;
}
@Override
@@ -54,14 +59,19 @@ public class CalibrationDialog extends DialogFragment implements View.OnClickLis
okButton.setOnClickListener(this);
NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
- Double bg = NSProfile.fromMgdlToUnits(GlucoseStatus.getGlucoseStatusData() != null ? GlucoseStatus.getGlucoseStatusData().glucose : 0d, profile.getUnits());
- if (profile.getUnits().equals(Constants.MMOL))
+ Double bg = profile != null ? NSProfile.fromMgdlToUnits(GlucoseStatus.getGlucoseStatusData() != null ? GlucoseStatus.getGlucoseStatusData().glucose : 0d, profile.getUnits()) : 0d;
+
+ String units = Constants.MGDL;
+ if (profile != null)
+ units = profile.getUnits();
+
+ if (units.equals(Constants.MMOL))
bgText = new PlusMinusEditText(view, R.id.overview_calibration_bg, R.id.overview_calibration_bg_plus, R.id.overview_calibration_bg_minus, bg, 0d, 30d, 0.1d, new DecimalFormat("0.0"), false);
else
bgText = new PlusMinusEditText(view, R.id.overview_calibration_bg, R.id.overview_calibration_bg_plus, R.id.overview_calibration_bg_minus, bg, 0d, 500d, 1d, new DecimalFormat("0"), false);
unitsView = (TextView) view.findViewById(R.id.overview_calibration_units);
- unitsView.setText(profile.getUnits());
+ unitsView.setText(units);
return view;
}
@@ -71,8 +81,9 @@ public class CalibrationDialog extends DialogFragment implements View.OnClickLis
switch (view.getId()) {
case R.id.overview_calibration_okbutton:
final Double bg = bgText.getValue();
- XdripCalibrations.confirmAndSendCalibration(bg, parentContext);
+ XdripCalibrations.confirmAndSendCalibration(bg, context);
dismiss();
+ Answers.getInstance().logCustom(new CustomEvent("Calibration"));
break;
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java
index 81762b6382..e97104437d 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewTreatmentDialog.java
@@ -16,6 +16,9 @@ import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+
import java.text.DecimalFormat;
import info.nightscout.androidaps.Constants;
@@ -107,7 +110,7 @@ public class NewTreatmentDialog extends DialogFragment implements OnClickListene
mHandler.post(new Runnable() {
@Override
public void run() {
- PumpEnactResult result = pump.deliverTreatment(finalInsulinAfterConstraints, finalCarbsAfterConstraints, context);
+ PumpEnactResult result = pump.deliverTreatment(MainApp.getConfigBuilder().getActiveInsulin(), finalInsulinAfterConstraints, finalCarbsAfterConstraints, context);
if (!result.success) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(MainApp.sResources.getString(R.string.treatmentdeliveryerror));
@@ -117,6 +120,7 @@ public class NewTreatmentDialog extends DialogFragment implements OnClickListene
}
}
});
+ Answers.getInstance().logCustom(new CustomEvent("Bolus"));
}
}
});
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java
index 890c393edc..2235bbe1dd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/WizardDialog.java
@@ -1,5 +1,6 @@
package info.nightscout.androidaps.plugins.Overview.Dialogs;
+import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
@@ -21,13 +22,19 @@ import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
+import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
+import com.squareup.otto.Subscribe;
+
import org.json.JSONException;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.w3c.dom.Text;
import java.text.DecimalFormat;
import java.util.ArrayList;
@@ -39,36 +46,58 @@ import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.BgReading;
+import info.nightscout.androidaps.events.EventNewBG;
+import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.data.IobTotal;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.Loop.APSResult;
+import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.androidaps.plugins.OpenAPSAMA.DetermineBasalResultAMA;
+import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin;
+import info.nightscout.androidaps.plugins.OpenAPSMA.events.EventOpenAPSUpdateGui;
import info.nightscout.utils.BolusWizard;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.PlusMinusEditText;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
-public class WizardDialog extends DialogFragment implements OnClickListener {
+public class WizardDialog extends DialogFragment implements OnClickListener, CompoundButton.OnCheckedChangeListener, Spinner.OnItemSelectedListener {
private static Logger log = LoggerFactory.getLogger(WizardDialog.class);
Button wizardDialogDeliverButton;
TextView correctionInput;
TextView carbsInput;
TextView bgInput;
- TextView bg, bgInsulin, bgUnits;
+ TextView bg;
+ TextView bgInsulin;
+ TextView bgUnits;
CheckBox bgCheckbox;
- TextView carbs, carbsInsulin;
+ TextView carbs;
+ TextView carbsInsulin;
TextView bolusIobInsulin;
TextView basalIobInsulin;
CheckBox bolusIobCheckbox;
CheckBox basalIobCheckbox;
TextView correctionInsulin;
- TextView total, totalInsulin;
+ TextView total;
+ TextView totalInsulin;
EditText carbTimeEdit;
Spinner profileSpinner;
+ CheckBox superbolusCheckbox;
+ TextView superbolus;
+ TextView superbolusInsulin;
+ CheckBox bgtrendCheckbox;
+ TextView bgTrend;
+ TextView bgTrendInsulin;
+ LinearLayout cobLayout;
+ CheckBox cobCheckbox;
+ TextView cob;
+ TextView cobInsulin;
PlusMinusEditText editBg;
PlusMinusEditText editCarbs;
@@ -78,21 +107,69 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
Integer calculatedCarbs = 0;
Double calculatedTotalInsulin = 0d;
JSONObject boluscalcJSON;
+ boolean cobAvailable = false;
Handler mHandler;
public static HandlerThread mHandlerThread;
- Context parentContext;
+ Context context;
public WizardDialog() {
+ super();
mHandlerThread = new HandlerThread(WizardDialog.class.getSimpleName());
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper());
}
+ @Override
+ public void onAttach(Context context) {
+ super.onAttach(context);
+ this.context = context;
+ }
- public void setContext(Context context) {
- parentContext = context;
+ @Override
+ public void onResume() {
+ super.onResume();
+ if (getDialog() != null)
+ getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ MainApp.bus().register(this);
+ }
+
+ @Override
+ public void onPause() {
+ super.onPause();
+ MainApp.bus().unregister(this);
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventOpenAPSUpdateGui e) {
+ Activity activity = getActivity();
+ if (activity != null)
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ if (ConfigBuilderPlugin.getActiveAPS() instanceof OpenAPSAMAPlugin && ConfigBuilderPlugin.getActiveAPS().getLastAPSResult() != null && ConfigBuilderPlugin.getActiveAPS().getLastAPSRun().after(new Date(new Date().getTime() - 11 * 60 * 1000L))) {
+ cobLayout.setVisibility(View.VISIBLE);
+ cobAvailable = true;
+ } else {
+ cobLayout.setVisibility(View.GONE);
+ cobAvailable = false;
+ }
+ calculateInsulin();
+ }
+ });
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventNewBG e) {
+ Activity activity = getActivity();
+ if (activity != null)
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ calculateInsulin();
+ }
+ });
}
final private TextWatcher textWatcher = new TextWatcher() {
@@ -110,66 +187,61 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
}
};
- final CompoundButton.OnCheckedChangeListener onCheckedChangeListener = new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- calculateInsulin();
- }
- };
-
- final AdapterView.OnItemSelectedListener onItemSelectedListener = new AdapterView.OnItemSelectedListener() {
- @Override
- public void onItemSelected(AdapterView> parent, View view, int position, long id) {
- calculateInsulin();
- wizardDialogDeliverButton.setVisibility(View.VISIBLE);
- }
-
- @Override
- public void onNothingSelected(AdapterView> parent) {
- ToastUtils.showToastInUiThread(parentContext, MainApp.sResources.getString(R.string.noprofileselected));
- wizardDialogDeliverButton.setVisibility(View.GONE);
- }
- };
-
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.overview_wizard_dialog, null, false);
- wizardDialogDeliverButton = (Button) view.findViewById(R.id.treatments_wizard_deliverButton);
- wizardDialogDeliverButton.setOnClickListener(this);
-
getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
- correctionInput = (TextView) view.findViewById(R.id.treatments_wizard_correctioninput);
- carbsInput = (TextView) view.findViewById(R.id.treatments_wizard_carbsinput);
- bgInput = (TextView) view.findViewById(R.id.treatments_wizard_bginput);
-
- correctionInput.addTextChangedListener(textWatcher);
- carbsInput.addTextChangedListener(textWatcher);
- bgInput.addTextChangedListener(textWatcher);
+ wizardDialogDeliverButton = (Button) view.findViewById(R.id.treatments_wizard_deliverButton);
+ wizardDialogDeliverButton.setOnClickListener(this);
bg = (TextView) view.findViewById(R.id.treatments_wizard_bg);
bgInsulin = (TextView) view.findViewById(R.id.treatments_wizard_bginsulin);
bgUnits = (TextView) view.findViewById(R.id.treatments_wizard_bgunits);
- bgCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_bgcheckbox);
carbs = (TextView) view.findViewById(R.id.treatments_wizard_carbs);
carbsInsulin = (TextView) view.findViewById(R.id.treatments_wizard_carbsinsulin);
bolusIobInsulin = (TextView) view.findViewById(R.id.treatments_wizard_bolusiobinsulin);
basalIobInsulin = (TextView) view.findViewById(R.id.treatments_wizard_basaliobinsulin);
- bolusIobCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_bolusiobcheckbox);
- basalIobCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_basaliobcheckbox);
correctionInsulin = (TextView) view.findViewById(R.id.treatments_wizard_correctioninsulin);
total = (TextView) view.findViewById(R.id.treatments_wizard_total);
totalInsulin = (TextView) view.findViewById(R.id.treatments_wizard_totalinsulin);
carbTimeEdit = (EditText) view.findViewById(R.id.treatments_wizard_carbtimeinput);
- profileSpinner = (Spinner) view.findViewById(R.id.treatments_wizard_profile);
+ superbolus = (TextView) view.findViewById(R.id.treatments_wizard_sb);
+ superbolusInsulin = (TextView) view.findViewById(R.id.treatments_wizard_sbinsulin);
- bgCheckbox.setOnCheckedChangeListener(onCheckedChangeListener);
- basalIobCheckbox.setOnCheckedChangeListener(onCheckedChangeListener);
- bolusIobCheckbox.setOnCheckedChangeListener(onCheckedChangeListener);
- profileSpinner.setOnItemSelectedListener(onItemSelectedListener);
+ bgTrend = (TextView) view.findViewById(R.id.treatments_wizard_bgtrend);
+ bgTrendInsulin = (TextView) view.findViewById(R.id.treatments_wizard_bgtrendinsulin);
+ cobLayout = (LinearLayout) view.findViewById(R.id.treatments_wizard_cob_layout);
+ cob = (TextView) view.findViewById(R.id.treatments_wizard_cob);;
+ cobInsulin = (TextView) view.findViewById(R.id.treatments_wizard_cobinsulin);;
+
+ bgCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_bgcheckbox);
+ bolusIobCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_bolusiobcheckbox);
+ basalIobCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_basaliobcheckbox);
+ superbolusCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_sbcheckbox);
+ bgtrendCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_bgtrendcheckbox);
+ cobCheckbox = (CheckBox) view.findViewById(R.id.treatments_wizard_cobcheckbox);
+ bgCheckbox.setOnCheckedChangeListener(this);
+ basalIobCheckbox.setOnCheckedChangeListener(this);
+ bolusIobCheckbox.setOnCheckedChangeListener(this);
+ superbolusCheckbox.setOnCheckedChangeListener(this);
+ bgtrendCheckbox.setOnCheckedChangeListener(this);
+ cobCheckbox.setOnCheckedChangeListener(this);
+
+ profileSpinner = (Spinner) view.findViewById(R.id.treatments_wizard_profile);
+ profileSpinner.setOnItemSelectedListener(this);
+
+ correctionInput = (TextView) view.findViewById(R.id.treatments_wizard_correctioninput);
+ carbsInput = (TextView) view.findViewById(R.id.treatments_wizard_carbsinput);
+ bgInput = (TextView) view.findViewById(R.id.treatments_wizard_bginput);
+ correctionInput.addTextChangedListener(textWatcher);
+ carbsInput.addTextChangedListener(textWatcher);
+ bgInput.addTextChangedListener(textWatcher);
+
+ superbolusCheckbox.setVisibility(SP.getBoolean(R.string.key_usesuperbolus, false) ? View.VISIBLE : View.GONE);
Integer maxCarbs = MainApp.getConfigBuilder().applyCarbsConstraints(Constants.carbsOnlyForCheckLimit);
Double maxCorrection = MainApp.getConfigBuilder().applyBolusConstraints(Constants.bolusOnlyForCheckLimit);
@@ -183,6 +255,23 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
return view;
}
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ calculateInsulin();
+ }
+
+ @Override
+ public void onItemSelected(AdapterView> parent, View view, int position, long id) {
+ calculateInsulin();
+ wizardDialogDeliverButton.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView> parent) {
+ ToastUtils.showToastInUiThread(context, MainApp.sResources.getString(R.string.noprofileselected));
+ wizardDialogDeliverButton.setVisibility(View.GONE);
+ }
+
@Override
public void onClick(View view) {
switch (view.getId()) {
@@ -197,8 +286,8 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
confirmMessage += "\n" + getString(R.string.bolus) + ": " + formatNumber2decimalplaces.format(insulinAfterConstraints) + "U";
confirmMessage += "\n" + getString(R.string.carbs) + ": " + carbsAfterConstraints + "g";
- if (insulinAfterConstraints - calculatedTotalInsulin != 0 || !carbsAfterConstraints.equals(calculatedCarbs)) {
- AlertDialog.Builder builder = new AlertDialog.Builder(parentContext);
+ if (insulinAfterConstraints - calculatedTotalInsulin != 0 || !carbsAfterConstraints.equals(calculatedCarbs)) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(MainApp.sResources.getString(R.string.treatmentdeliveryerror));
builder.setMessage(getString(R.string.constraints_violation) + "\n" + getString(R.string.changeyourinput));
builder.setPositiveButton(MainApp.sResources.getString(R.string.ok), null);
@@ -208,49 +297,64 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
final Double finalInsulinAfterConstraints = insulinAfterConstraints;
final Integer finalCarbsAfterConstraints = carbsAfterConstraints;
+ final Double bg = SafeParse.stringToDouble(bgInput.getText().toString());
+ final int carbTime = SafeParse.stringToInt(carbTimeEdit.getText().toString());
+ final boolean useSuperBolus = superbolusCheckbox.isChecked();
- if (parentContext != null) {
- AlertDialog.Builder builder = new AlertDialog.Builder(parentContext);
- builder.setTitle(MainApp.sResources.getString(R.string.confirmation));
- builder.setMessage(confirmMessage);
- builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- if (finalInsulinAfterConstraints > 0 || finalCarbsAfterConstraints > 0) {
- final ConfigBuilderPlugin pump = MainApp.getConfigBuilder();
- mHandler.post(new Runnable() {
- @Override
- public void run() {
- PumpEnactResult result = pump.deliverTreatmentFromBolusWizard(
- parentContext,
- finalInsulinAfterConstraints,
- finalCarbsAfterConstraints,
- SafeParse.stringToDouble(bgInput.getText().toString()),
- "Manual",
- SafeParse.stringToInt(carbTimeEdit.getText().toString()),
- boluscalcJSON
- );
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setTitle(MainApp.sResources.getString(R.string.confirmation));
+ builder.setMessage(confirmMessage);
+ builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ if (finalInsulinAfterConstraints > 0 || finalCarbsAfterConstraints > 0) {
+ final ConfigBuilderPlugin pump = MainApp.getConfigBuilder();
+ mHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ PumpEnactResult result = pump.deliverTreatmentFromBolusWizard(
+ MainApp.getConfigBuilder().getActiveInsulin(),
+ context,
+ finalInsulinAfterConstraints,
+ finalCarbsAfterConstraints,
+ bg,
+ "Manual",
+ carbTime,
+ boluscalcJSON
+ );
+ if (!result.success) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setTitle(MainApp.sResources.getString(R.string.treatmentdeliveryerror));
+ builder.setMessage(result.comment);
+ builder.setPositiveButton(MainApp.sResources.getString(R.string.ok), null);
+ builder.show();
+ }
+ if (useSuperBolus) {
+ final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+ result = pump.setTempBasalAbsolute(0d, 120);
if (!result.success) {
- AlertDialog.Builder builder = new AlertDialog.Builder(parentContext);
- builder.setTitle(MainApp.sResources.getString(R.string.treatmentdeliveryerror));
+ AlertDialog.Builder builder = new AlertDialog.Builder(context);
+ builder.setTitle(MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
builder.setMessage(result.comment);
builder.setPositiveButton(MainApp.sResources.getString(R.string.ok), null);
builder.show();
}
+ if (activeloop != null) {
+ activeloop.superBolusTo(new Date().getTime() + 2 * 60L * 60 * 1000);
+ MainApp.bus().post(new EventRefreshGui(false));
+ }
}
- });
- }
+ }
+ });
+ Answers.getInstance().logCustom(new CustomEvent("Wizard"));
}
- });
- builder.setNegativeButton(getString(R.string.cancel), null);
- builder.show();
- dismiss();
- } else {
- log.error("parentContext == null");
- }
+ }
+ });
+ builder.setNegativeButton(getString(R.string.cancel), null);
+ builder.show();
+ dismiss();
}
break;
}
-
}
private void initDialog() {
@@ -264,8 +368,8 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
ArrayList profileList;
profileList = profile.getProfileList();
ArrayAdapter adapter = new ArrayAdapter(getContext(),
- android.R.layout.simple_spinner_item, profileList);
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ R.layout.spinner_centered, profileList);
+
profileSpinner.setAdapter(adapter);
// set selected to actual profile
for (int p = 0; p < profileList.size(); p++) {
@@ -309,12 +413,15 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
}
// IOB calculation
- TreatmentsInterface treatments = MainApp.getConfigBuilder().getActiveTreatments();
- TempBasalsInterface tempBasals = MainApp.getConfigBuilder().getActiveTempBasals();
+ TreatmentsInterface treatments = ConfigBuilderPlugin.getActiveTreatments();
treatments.updateTotalIOB();
- tempBasals.updateTotalIOB();
IobTotal bolusIob = treatments.getLastCalculation();
- IobTotal basalIob = tempBasals.getLastCalculation();
+ TempBasalsInterface tempBasals = ConfigBuilderPlugin.getActiveTempBasals();
+ IobTotal basalIob = new IobTotal(new Date().getTime());
+ if (tempBasals != null) {
+ tempBasals.updateTotalIOB();
+ basalIob = tempBasals.getLastCalculation().round();
+ }
bolusIobInsulin.setText(DecimalFormatter.to2Decimal(-bolusIob.iob) + "U");
basalIobInsulin.setText(DecimalFormatter.to2Decimal(-basalIob.basaliob) + "U");
@@ -322,13 +429,14 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
totalInsulin.setText("");
wizardDialogDeliverButton.setVisibility(Button.INVISIBLE);
- }
-
- @Override
- public void onResume() {
- super.onResume();
- if (getDialog() != null)
- getDialog().getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
+ // COB only if AMA is selected
+ if (ConfigBuilderPlugin.getActiveAPS() instanceof OpenAPSAMAPlugin && ConfigBuilderPlugin.getActiveAPS().getLastAPSResult() != null && ConfigBuilderPlugin.getActiveAPS().getLastAPSRun().after(new Date(new Date().getTime() - 11 * 60 * 1000L))) {
+ cobLayout.setVisibility(View.VISIBLE);
+ cobAvailable = true;
+ } else {
+ cobLayout.setVisibility(View.GONE);
+ cobAvailable = false;
+ }
}
private void calculateInsulin() {
@@ -363,8 +471,19 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
c_bg = bgCheckbox.isChecked() ? c_bg : 0d;
+ // COB
+ Double c_cob = 0d;
+ if (cobAvailable && cobCheckbox.isChecked()) {
+ if (ConfigBuilderPlugin.getActiveAPS().getLastAPSResult() != null && ConfigBuilderPlugin.getActiveAPS().getLastAPSRun().after(new Date(new Date().getTime() - 11 * 60 * 1000L))) {
+ try {
+ c_cob = SafeParse.stringToDouble(ConfigBuilderPlugin.getActiveAPS().getLastAPSResult().json().getString("COB"));
+ } catch (JSONException e) {
+ }
+ }
+ }
+
BolusWizard wizard = new BolusWizard();
- wizard.doCalc(specificProfile, carbsAfterConstraint, c_bg, corrAfterConstraint, bolusIobCheckbox.isChecked(), basalIobCheckbox.isChecked());
+ wizard.doCalc(specificProfile, carbsAfterConstraint, c_cob, c_bg, corrAfterConstraint, bolusIobCheckbox.isChecked(), basalIobCheckbox.isChecked(), superbolusCheckbox.isChecked(), bgtrendCheckbox.isChecked());
bg.setText(c_bg + " ISF: " + DecimalFormatter.to1Decimal(wizard.sens));
bgInsulin.setText(DecimalFormatter.to2Decimal(wizard.insulinFromBG) + "U");
@@ -388,6 +507,35 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
calculatedCarbs = carbsAfterConstraint;
+ // Superbolus
+ if (superbolusCheckbox.isChecked()) {
+ superbolus.setText("2h");
+ } else {
+ superbolus.setText("");
+ }
+ superbolusInsulin.setText(DecimalFormatter.to2Decimal(wizard.insulinFromSuperBolus) + "U");
+
+ // Trend
+ if (bgtrendCheckbox.isChecked()) {
+ if (wizard.glucoseStatus != null) {
+ bgTrend.setText((wizard.glucoseStatus.avgdelta > 0 ? "+" : "") + NSProfile.toUnitsString(wizard.glucoseStatus.avgdelta * 3, wizard.glucoseStatus.avgdelta * 3 / 18, profile.getUnits()) + " " + profile.getUnits());
+ } else {
+ bgTrend.setText("");
+ }
+ } else {
+ bgTrend.setText("");
+ }
+ bgTrendInsulin.setText(DecimalFormatter.to2Decimal(wizard.insulinFromTrend) + "U");
+
+ // COB
+ if (cobAvailable && cobCheckbox.isChecked()) {
+ cob.setText(DecimalFormatter.to2Decimal(c_cob) + "g IC: " + DecimalFormatter.to1Decimal(wizard.ic));
+ cobInsulin.setText(DecimalFormatter.to2Decimal(wizard.insulinFromCOB) + "U");
+ } else {
+ cob.setText("");
+ cobInsulin.setText("");
+ }
+
if (calculatedTotalInsulin > 0d || calculatedCarbs > 0d) {
String insulinText = calculatedTotalInsulin > 0d ? (DecimalFormatter.to2Decimal(calculatedTotalInsulin) + "U") : "";
String carbsText = calculatedCarbs > 0d ? (DecimalFormatter.to0Decimal(calculatedCarbs) + "g") : "";
@@ -414,10 +562,15 @@ public class WizardDialog extends DialogFragment implements OnClickListener {
boluscalcJSON.put("bgdiff", wizard.bgDiff);
boluscalcJSON.put("insulincarbs", wizard.insulinFromCarbs);
boluscalcJSON.put("carbs", c_carbs);
+ boluscalcJSON.put("cob", c_cob);
+ boluscalcJSON.put("insulincob", wizard.insulinFromCOB);
boluscalcJSON.put("othercorrection", corrAfterConstraint);
+ boluscalcJSON.put("insulinsuperbolus", wizard.insulinFromSuperBolus);
+ boluscalcJSON.put("insulintrend", wizard.insulinFromTrend);
boluscalcJSON.put("insulin", calculatedTotalInsulin);
} catch (JSONException e) {
e.printStackTrace();
}
}
+
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Notification.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Notification.java
index 5d83a76cc7..0508917312 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Notification.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Notification.java
@@ -23,6 +23,7 @@ public class Notification {
public static final int OLD_NSCLIENT = 8;
public static final int INVALID_PHONE_NUMBER = 9;
public static final int APPROACHING_DAILY_LIMIT = 10;
+ public static final int NSCLIENT_NO_WRITE_PERMISSION = 10;
public int id;
public Date date;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java
index 61f4279a51..e07caf2994 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewFragment.java
@@ -3,34 +3,41 @@ package info.nightscout.androidaps.plugins.Overview;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.DialogInterface;
-import android.content.SharedPreferences;
+import android.content.Intent;
import android.graphics.Color;
import android.graphics.DashPathEffect;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.os.HandlerThread;
-import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AlertDialog;
import android.support.v7.widget.CardView;
import android.support.v7.widget.LinearLayoutManager;
+import android.support.v7.widget.PopupMenu;
import android.support.v7.widget.RecyclerView;
+import android.view.ContextMenu;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
+import android.view.MenuInflater;
+import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
+import android.widget.ImageButton;
import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.jjoe64.graphview.GraphView;
-import com.jjoe64.graphview.ValueDependentColor;
-import com.jjoe64.graphview.series.BarGraphSeries;
+import com.jjoe64.graphview.LabelFormatter;
+import com.jjoe64.graphview.Viewport;
import com.jjoe64.graphview.series.DataPoint;
import com.jjoe64.graphview.series.LineGraphSeries;
import com.jjoe64.graphview.series.PointsGraphSeries;
@@ -47,10 +54,16 @@ import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+import info.nightscout.androidaps.BuildConfig;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.PreferencesActivity;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.data.IobTotal;
@@ -59,10 +72,12 @@ import info.nightscout.androidaps.db.BgReading;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.db.Treatment;
+import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventNewBG;
import info.nightscout.androidaps.events.EventNewBasalProfile;
import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.events.EventTempBasalChange;
import info.nightscout.androidaps.events.EventTreatmentChange;
@@ -71,10 +86,13 @@ import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
+import info.nightscout.androidaps.plugins.ConstraintsObjectives.ObjectivesPlugin;
+import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData;
+import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin;
+import info.nightscout.androidaps.plugins.IobCobCalculator.events.EventAutosensCalculationFinished;
import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification;
-import info.nightscout.androidaps.plugins.Objectives.ObjectivesPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.OpenAPSAMA.DetermineBasalResultAMA;
import info.nightscout.androidaps.plugins.OpenAPSAMA.OpenAPSAMAPlugin;
import info.nightscout.androidaps.plugins.Overview.Dialogs.CalibrationDialog;
@@ -82,24 +100,29 @@ import info.nightscout.androidaps.plugins.Overview.Dialogs.NewTreatmentDialog;
import info.nightscout.androidaps.plugins.Overview.Dialogs.WizardDialog;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
+import info.nightscout.androidaps.plugins.Overview.graphExtensions.AreaGraphSeries;
+import info.nightscout.androidaps.plugins.Overview.graphExtensions.DoubleDataPoint;
+import info.nightscout.androidaps.plugins.Overview.graphExtensions.FixedLineGraphSeries;
import info.nightscout.androidaps.plugins.Overview.graphExtensions.PointsWithLabelGraphSeries;
import info.nightscout.androidaps.plugins.Overview.graphExtensions.TimeAsXAxisLabelFormatter;
import info.nightscout.androidaps.plugins.SourceXdrip.SourceXdripPlugin;
import info.nightscout.androidaps.plugins.TempTargetRange.TempTargetRangePlugin;
import info.nightscout.androidaps.plugins.TempTargetRange.events.EventTempTargetRangeChange;
-import info.nightscout.client.data.NSProfile;
import info.nightscout.utils.BolusWizard;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
+import info.nightscout.utils.ImportExportPrefs;
+import info.nightscout.utils.LogDialog;
+import info.nightscout.utils.PasswordProtection;
import info.nightscout.utils.Round;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.utils.SP;
+import info.nightscout.utils.ToastUtils;
-public class OverviewFragment extends Fragment {
+public class OverviewFragment extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private static Logger log = LoggerFactory.getLogger(OverviewFragment.class);
private static OverviewPlugin overviewPlugin = new OverviewPlugin();
- private SharedPreferences prefs;
public static OverviewPlugin getPlugin() {
return overviewPlugin;
@@ -118,8 +141,17 @@ public class OverviewFragment extends Fragment {
TextView apsModeView;
TextView tempTargetView;
TextView pumpStatusView;
+ LinearLayout loopStatusLayout;
+ LinearLayout pumpStatusLayout;
GraphView bgGraph;
+ GraphView iobGraph;
+ RelativeLayout iobGraphLayout;
+ ImageButton menuButton;
+
CheckBox showPredictionView;
+ CheckBox showBasalsView;
+ CheckBox showIobView;
+ CheckBox showCobView;
RecyclerView notificationsView;
LinearLayoutManager llm;
@@ -139,6 +171,9 @@ public class OverviewFragment extends Fragment {
private static Handler sHandler;
private static HandlerThread sHandlerThread;
+ private static final ScheduledExecutorService worker = Executors.newSingleThreadScheduledExecutor();
+ private static ScheduledFuture> scheduledUpdate = null;
+
public OverviewFragment() {
super();
if (sHandlerThread == null) {
@@ -151,9 +186,9 @@ public class OverviewFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
- prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
View view = inflater.inflate(R.layout.overview_fragment, container, false);
+
bgView = (TextView) view.findViewById(R.id.overview_bg);
arrowView = (TextView) view.findViewById(R.id.overview_arrow);
timeAgoView = (TextView) view.findViewById(R.id.overview_timeago);
@@ -163,149 +198,376 @@ public class OverviewFragment extends Fragment {
baseBasalView = (TextView) view.findViewById(R.id.overview_basebasal);
basalLayout = (LinearLayout) view.findViewById(R.id.overview_basallayout);
activeProfileView = (TextView) view.findViewById(R.id.overview_activeprofile);
- pumpStatusView = (TextView) view.findViewById(R.id.overview_initializing);
+ pumpStatusView = (TextView) view.findViewById(R.id.overview_pumpstatus);
+ loopStatusLayout = (LinearLayout) view.findViewById(R.id.overview_looplayout);
+ pumpStatusLayout = (LinearLayout) view.findViewById(R.id.overview_pumpstatuslayout);
iobView = (TextView) view.findViewById(R.id.overview_iob);
apsModeView = (TextView) view.findViewById(R.id.overview_apsmode);
tempTargetView = (TextView) view.findViewById(R.id.overview_temptarget);
+
bgGraph = (GraphView) view.findViewById(R.id.overview_bggraph);
- cancelTempButton = (Button) view.findViewById(R.id.overview_canceltemp);
- treatmentButton = (Button) view.findViewById(R.id.overview_treatment);
- wizardButton = (Button) view.findViewById(R.id.overview_wizard);
- cancelTempButton = (Button) view.findViewById(R.id.overview_canceltemp);
- cancelTempLayout = (LinearLayout) view.findViewById(R.id.overview_canceltemplayout);
+ iobGraph = (GraphView) view.findViewById(R.id.overview_iobgraph);
+ iobGraphLayout = (RelativeLayout) view.findViewById(R.id.overview_iobgraphlayout);
+
+ menuButton = (ImageButton) view.findViewById(R.id.overview_menuButton);
+ menuButton.setOnClickListener(this);
+
+ cancelTempButton = (Button) view.findViewById(R.id.overview_canceltempbutton);
+ cancelTempButton.setOnClickListener(this);
+ treatmentButton = (Button) view.findViewById(R.id.overview_treatmentbutton);
+ treatmentButton.setOnClickListener(this);
+ wizardButton = (Button) view.findViewById(R.id.overview_wizardbutton);
+ wizardButton.setOnClickListener(this);
+ cancelTempButton = (Button) view.findViewById(R.id.overview_canceltempbutton);
+ cancelTempButton.setOnClickListener(this);
acceptTempButton = (Button) view.findViewById(R.id.overview_accepttempbutton);
+ acceptTempButton.setOnClickListener(this);
+ quickWizardButton = (Button) view.findViewById(R.id.overview_quickwizardbutton);
+ quickWizardButton.setOnClickListener(this);
+ calibrationButton = (Button) view.findViewById(R.id.overview_calibrationbutton);
+ calibrationButton.setOnClickListener(this);
+
+ cancelTempLayout = (LinearLayout) view.findViewById(R.id.overview_canceltemplayout);
acceptTempLayout = (LinearLayout) view.findViewById(R.id.overview_accepttemplayout);
- quickWizardButton = (Button) view.findViewById(R.id.overview_quickwizard);
- calibrationButton = (Button) view.findViewById(R.id.overview_calibration);
+
showPredictionView = (CheckBox) view.findViewById(R.id.overview_showprediction);
+ showBasalsView = (CheckBox) view.findViewById(R.id.overview_showbasals);
+ showIobView = (CheckBox) view.findViewById(R.id.overview_showiob);
+ showCobView = (CheckBox) view.findViewById(R.id.overview_showcob);
+ showPredictionView.setChecked(SP.getBoolean("showprediction", false));
+ showBasalsView.setChecked(SP.getBoolean("showbasals", false));
+ showIobView.setChecked(SP.getBoolean("showiob", false));
+ showCobView.setChecked(SP.getBoolean("showcob", false));
+ showPredictionView.setOnCheckedChangeListener(this);
+ showBasalsView.setOnCheckedChangeListener(this);
+ showIobView.setOnCheckedChangeListener(this);
+ showCobView.setOnCheckedChangeListener(this);
notificationsView = (RecyclerView) view.findViewById(R.id.overview_notifications);
notificationsView.setHasFixedSize(true);
llm = new LinearLayoutManager(view.getContext());
notificationsView.setLayoutManager(llm);
- showPredictionView.setChecked(prefs.getBoolean("showprediction", false));
- showPredictionView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- SharedPreferences.Editor editor = prefs.edit();
- editor.putBoolean("showprediction", showPredictionView.isChecked());
- editor.apply();
- updateGUI();
+ bgGraph.getGridLabelRenderer().setGridColor(Color.rgb(0x75, 0x75, 0x75));
+ bgGraph.getGridLabelRenderer().reloadStyles();
+ iobGraph.getGridLabelRenderer().setGridColor(Color.rgb(0x75, 0x75, 0x75));
+ iobGraph.getGridLabelRenderer().reloadStyles();
+ iobGraph.getGridLabelRenderer().setHorizontalLabelsVisible(false);
+ bgGraph.getGridLabelRenderer().setLabelVerticalWidth(50);
+ iobGraph.getGridLabelRenderer().setLabelVerticalWidth(50);
+ iobGraph.getGridLabelRenderer().setNumVerticalLabels(5);
+
+ return view;
+ }
+
+
+ @Override
+ public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
+ super.onCreateContextMenu(menu, v, menuInfo);
+ final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+ if (activeloop == null)
+ return;
+ menu.setHeaderTitle(MainApp.sResources.getString(R.string.loop));
+ if (activeloop.isEnabled(PluginBase.LOOP)) {
+ menu.add(MainApp.sResources.getString(R.string.disableloop));
+ if (!activeloop.isSuspended()) {
+ menu.add(MainApp.sResources.getString(R.string.suspendloopfor1h));
+ menu.add(MainApp.sResources.getString(R.string.suspendloopfor2h));
+ menu.add(MainApp.sResources.getString(R.string.suspendloopfor3h));
+ menu.add(MainApp.sResources.getString(R.string.suspendloopfor10h));
+ menu.add(MainApp.sResources.getString(R.string.disconnectpumpfor30m));
+ menu.add(MainApp.sResources.getString(R.string.disconnectpumpfor1h));
+ menu.add(MainApp.sResources.getString(R.string.disconnectpumpfor2h));
+ menu.add(MainApp.sResources.getString(R.string.disconnectpumpfor3h));
+ } else {
+ menu.add(MainApp.sResources.getString(R.string.resume));
}
- });
+ }
+ if (!activeloop.isEnabled(PluginBase.LOOP))
+ menu.add(MainApp.sResources.getString(R.string.enableloop));
+ }
- treatmentButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- FragmentManager manager = getFragmentManager();
+ @Override
+ public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+ switch (buttonView.getId()) {
+ case R.id.overview_showprediction:
+ SP.putBoolean("showprediction", showPredictionView.isChecked());
+ scheduleUpdateGUI("onPredictionCheckedChanged");
+ break;
+ case R.id.overview_showbasals:
+ SP.putBoolean("showbasals", showPredictionView.isChecked());
+ scheduleUpdateGUI("onBasalsCheckedChanged");
+ break;
+ case R.id.overview_showiob:
+ SP.putBoolean("showiob", showIobView.isChecked());
+ scheduleUpdateGUI("onIobCheckedChanged");
+ break;
+ case R.id.overview_showcob:
+ SP.putBoolean("showcob", showCobView.isChecked());
+ scheduleUpdateGUI("onCobCheckedChanged");
+ break;
+ }
+ }
+
+ @Override
+ public boolean onContextItemSelected(MenuItem item) {
+ final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+ if (item.getTitle().equals(MainApp.sResources.getString(R.string.disableloop))) {
+ activeloop.setFragmentEnabled(PluginBase.LOOP, false);
+ activeloop.setFragmentVisible(PluginBase.LOOP, false);
+ MainApp.getConfigBuilder().storeSettings();
+ scheduleUpdateGUI("suspendmenu");
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.enableloop))) {
+ activeloop.setFragmentEnabled(PluginBase.LOOP, true);
+ activeloop.setFragmentVisible(PluginBase.LOOP, true);
+ MainApp.getConfigBuilder().storeSettings();
+ scheduleUpdateGUI("suspendmenu");
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.resume))) {
+ activeloop.suspendTo(0L);
+ scheduleUpdateGUI("suspendmenu");
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ PumpEnactResult result = MainApp.getConfigBuilder().cancelTempBasal();
+ if (!result.success) {
+ ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
+ }
+ }
+ });
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.suspendloopfor1h))) {
+ activeloop.suspendTo(new Date().getTime() + 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.suspendloopfor2h))) {
+ activeloop.suspendTo(new Date().getTime() + 2 * 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.suspendloopfor3h))) {
+ activeloop.suspendTo(new Date().getTime() + 3 * 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.suspendloopfor10h))) {
+ activeloop.suspendTo(new Date().getTime() + 10 * 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.disconnectpumpfor30m))) {
+ activeloop.suspendTo(new Date().getTime() + 30L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 30);
+ if (!result.success) {
+ ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
+ }
+ }
+ });
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.disconnectpumpfor1h))) {
+ activeloop.suspendTo(new Date().getTime() + 1 * 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 60);
+ if (!result.success) {
+ ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
+ }
+ }
+ });
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.disconnectpumpfor2h))) {
+ activeloop.suspendTo(new Date().getTime() + 2 * 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 2 * 60);
+ if (!result.success) {
+ ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
+ }
+ }
+ });
+ return true;
+ } else if (item.getTitle().equals(MainApp.sResources.getString(R.string.disconnectpumpfor3h))) {
+ activeloop.suspendTo(new Date().getTime() + 3 * 60L * 60 * 1000);
+ scheduleUpdateGUI("suspendmenu");
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 3 * 60);
+ if (!result.success) {
+ ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
+ }
+ }
+ });
+ return true;
+ }
+
+ return super.onContextItemSelected(item);
+ }
+
+ @Override
+ public void onClick(View v) {
+ FragmentManager manager = getFragmentManager();
+ switch (v.getId()) {
+ case R.id.overview_accepttempbutton:
+ onClickAcceptTemp();
+ break;
+ case R.id.overview_quickwizardbutton:
+ onClickQuickwizard();
+ break;
+ case R.id.overview_wizardbutton:
+ WizardDialog wizardDialog = new WizardDialog();
+ wizardDialog.show(manager, "WizardDialog");
+ break;
+ case R.id.overview_calibrationbutton:
+ CalibrationDialog calibrationDialog = new CalibrationDialog();
+ calibrationDialog.show(manager, "CalibrationDialog");
+ break;
+ case R.id.overview_treatmentbutton:
NewTreatmentDialog treatmentDialogFragment = new NewTreatmentDialog();
treatmentDialogFragment.show(manager, "TreatmentDialog");
- }
- });
-
- wizardButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- FragmentManager manager = getFragmentManager();
- WizardDialog wizardDialog = new WizardDialog();
- wizardDialog.setContext(getContext());
- wizardDialog.show(manager, "WizardDialog");
- }
- });
-
- quickWizardButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- processQuickWizard();
- }
- });
-
- cancelTempButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
+ break;
+ case R.id.overview_canceltempbutton:
final PumpInterface pump = MainApp.getConfigBuilder();
if (pump.isTempBasalInProgress()) {
sHandler.post(new Runnable() {
@Override
public void run() {
pump.cancelTempBasal();
- MainApp.bus().post(new EventTempBasalChange());
+ Answers.getInstance().logCustom(new CustomEvent("CancelTemp"));
}
});
}
- }
- });
-
- calibrationButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- FragmentManager manager = getFragmentManager();
- CalibrationDialog calibrationDialog = new CalibrationDialog();
- calibrationDialog.setContext(getContext());
- calibrationDialog.show(manager, "CalibrationDialog");
- }
- });
-
- acceptTempButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- ConfigBuilderPlugin.getActiveLoop().invoke("Accept temp button", false);
- final LoopPlugin.LastRun finalLastRun = LoopPlugin.lastRun;
- if (finalLastRun != null && finalLastRun.lastAPSRun != null && finalLastRun.constraintsProcessed.changeRequested) {
- AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
- builder.setTitle(getContext().getString(R.string.confirmation));
- builder.setMessage(getContext().getString(R.string.setbasalquestion) + "\n" + finalLastRun.constraintsProcessed);
- builder.setPositiveButton(getContext().getString(R.string.ok), new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int id) {
- sHandler.post(new Runnable() {
- @Override
- public void run() {
- hideTempRecommendation();
- PumpEnactResult applyResult = MainApp.getConfigBuilder().applyAPSRequest(finalLastRun.constraintsProcessed);
- if (applyResult.enacted) {
- finalLastRun.setByPump = applyResult;
- finalLastRun.lastEnact = new Date();
- finalLastRun.lastOpenModeAccept = new Date();
- MainApp.getConfigBuilder().uploadDeviceStatus(15);
- ObjectivesPlugin objectivesPlugin = (ObjectivesPlugin) MainApp.getSpecificPlugin(ObjectivesPlugin.class);
- if (objectivesPlugin != null) {
- objectivesPlugin.manualEnacts++;
- objectivesPlugin.saveProgress();
- }
- }
- updateGUIIfVisible();
- }
- });
- }
- });
- builder.setNegativeButton(getContext().getString(R.string.cancel), null);
- builder.show();
- }
- updateGUI();
- }
- });
-
- pumpStatusView.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
+ break;
+ case R.id.overview_pumpstatus:
if (MainApp.getConfigBuilder().isSuspended() || !MainApp.getConfigBuilder().isInitialized())
sHandler.post(new Runnable() {
@Override
public void run() {
- MainApp.getConfigBuilder().updateStatus("RefreshClicked");
+ MainApp.getConfigBuilder().refreshDataFromPump("RefreshClicked");
}
});
- }
- });
+ break;
+ case R.id.overview_menuButton:
+ PopupMenu popup = new PopupMenu(getContext(), v);
+ MenuInflater inflater = popup.getMenuInflater();
+ inflater.inflate(R.menu.menu_main, popup.getMenu());
+ popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
+ @Override
+ public boolean onMenuItemClick(MenuItem item) {
+ int id = item.getItemId();
+ switch (id) {
+ case R.id.nav_preferences:
+ PasswordProtection.QueryPassword(getContext(), R.string.settings_password, "settings_password", new Runnable() {
+ @Override
+ public void run() {
+ Intent i = new Intent(getContext(), PreferencesActivity.class);
+ startActivity(i);
+ }
+ }, null);
+ break;
+ case R.id.nav_resetdb:
+ new AlertDialog.Builder(getContext())
+ .setTitle(R.string.nav_resetdb)
+ .setMessage(R.string.reset_db_confirm)
+ .setNegativeButton(android.R.string.cancel, null)
+ .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ MainApp.getDbHelper().resetDatabases();
+ }
+ })
+ .create()
+ .show();
+ break;
+ case R.id.nav_export:
+ ImportExportPrefs.verifyStoragePermissions(getActivity());
+ ImportExportPrefs.exportSharedPreferences(getActivity());
+ break;
+ case R.id.nav_import:
+ ImportExportPrefs.verifyStoragePermissions(getActivity());
+ ImportExportPrefs.importSharedPreferences(getActivity());
+ break;
+ case R.id.nav_show_logcat:
+ LogDialog.showLogcat(getContext());
+ break;
+ case R.id.nav_about:
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle(getString(R.string.app_name) + " " + BuildConfig.VERSION);
+ if (BuildConfig.NSCLIENTOLNY)
+ builder.setIcon(R.mipmap.yellowowl);
+ else
+ builder.setIcon(R.mipmap.blueowl);
+ builder.setMessage("Build: " + BuildConfig.BUILDVERSION);
+ builder.setPositiveButton(MainApp.sResources.getString(R.string.ok), null);
+ AlertDialog alertDialog = builder.create();
+ alertDialog.show();
+ break;
+ case R.id.nav_exit:
+ log.debug("Exiting");
+ MainApp.instance().stopKeepAliveService();
+ MainApp.bus().post(new EventAppExit());
+ MainApp.closeDbHelper();
+ getActivity().finish();
+ System.runFinalization();
+ System.exit(0);
+ break;
+ }
+ return false;
+ }
+ });
+ popup.show();
+ break;
+ }
- updateGUI();
- return view;
}
- void processQuickWizard() {
+ private void onClickAcceptTemp() {
+ if (ConfigBuilderPlugin.getActiveLoop() != null) {
+ ConfigBuilderPlugin.getActiveLoop().invoke("Accept temp button", false);
+ final LoopPlugin.LastRun finalLastRun = LoopPlugin.lastRun;
+ if (finalLastRun != null && finalLastRun.lastAPSRun != null && finalLastRun.constraintsProcessed.changeRequested) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
+ builder.setTitle(getContext().getString(R.string.confirmation));
+ builder.setMessage(getContext().getString(R.string.setbasalquestion) + "\n" + finalLastRun.constraintsProcessed);
+ builder.setPositiveButton(getContext().getString(R.string.ok), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ sHandler.post(new Runnable() {
+ @Override
+ public void run() {
+ hideTempRecommendation();
+ PumpEnactResult applyResult = MainApp.getConfigBuilder().applyAPSRequest(finalLastRun.constraintsProcessed);
+ if (applyResult.enacted) {
+ finalLastRun.setByPump = applyResult;
+ finalLastRun.lastEnact = new Date();
+ finalLastRun.lastOpenModeAccept = new Date();
+ MainApp.getConfigBuilder().uploadDeviceStatus();
+ ObjectivesPlugin objectivesPlugin = (ObjectivesPlugin) MainApp.getSpecificPlugin(ObjectivesPlugin.class);
+ if (objectivesPlugin != null) {
+ objectivesPlugin.manualEnacts++;
+ objectivesPlugin.saveProgress();
+ }
+ }
+ scheduleUpdateGUI("onClickAcceptTemp");
+ }
+ });
+ Answers.getInstance().logCustom(new CustomEvent("AcceptTemp"));
+ }
+ });
+ builder.setNegativeButton(getContext().getString(R.string.cancel), null);
+ builder.show();
+ }
+ }
+ }
+
+ void onClickQuickwizard() {
final BgReading actualBg = GlucoseStatus.actualBg();
if (MainApp.getConfigBuilder() == null || ConfigBuilderPlugin.getActiveProfile() == null) // app not initialized yet
return;
@@ -316,11 +578,11 @@ public class OverviewFragment extends Fragment {
quickWizardButton.setVisibility(View.VISIBLE);
String text = MainApp.sResources.getString(R.string.bolus) + ": " + quickWizardEntry.buttonText();
BolusWizard wizard = new BolusWizard();
- wizard.doCalc(profile.getDefaultProfile(), quickWizardEntry.carbs(), actualBg.valueToUnits(profile.getUnits()), 0d, true, true);
+ wizard.doCalc(profile.getDefaultProfile(), quickWizardEntry.carbs(), 0d, actualBg.valueToUnits(profile.getUnits()), 0d, true, true, false, false);
final JSONObject boluscalcJSON = new JSONObject();
try {
- boluscalcJSON.put("eventTime", DateUtil.toISOString(new Date()));
+ boluscalcJSON.put("eventTime", DateUtil.toISOString(new Date()));
boluscalcJSON.put("targetBGLow", wizard.targetBGLow);
boluscalcJSON.put("targetBGHigh", wizard.targetBGHigh);
boluscalcJSON.put("isf", wizard.sens);
@@ -335,6 +597,7 @@ public class OverviewFragment extends Fragment {
boluscalcJSON.put("insulincarbs", wizard.insulinFromCarbs);
boluscalcJSON.put("carbs", quickWizardEntry.carbs());
boluscalcJSON.put("othercorrection", 0d);
+ boluscalcJSON.put("insulintrend", wizard.insulinFromTrend);
boluscalcJSON.put("insulin", wizard.calculatedTotalInsulin);
} catch (JSONException e) {
e.printStackTrace();
@@ -372,6 +635,7 @@ public class OverviewFragment extends Fragment {
@Override
public void run() {
PumpEnactResult result = pump.deliverTreatmentFromBolusWizard(
+ MainApp.getConfigBuilder().getActiveInsulin(),
getContext(),
finalInsulinAfterConstraints,
finalCarbsAfterConstraints,
@@ -389,6 +653,7 @@ public class OverviewFragment extends Fragment {
}
}
});
+ Answers.getInstance().logCustom(new CustomEvent("QuickWizard"));
}
}
});
@@ -404,6 +669,7 @@ public class OverviewFragment extends Fragment {
super.onPause();
MainApp.bus().unregister(this);
sLoopHandler.removeCallbacksAndMessages(null);
+ unregisterForContextMenu(apsModeView);
}
@Override
@@ -413,57 +679,63 @@ public class OverviewFragment extends Fragment {
sRefreshLoop = new Runnable() {
@Override
public void run() {
- updateGUIIfVisible();
+ scheduleUpdateGUI("refreshLoop");
sLoopHandler.postDelayed(sRefreshLoop, 60 * 1000L);
}
};
sLoopHandler.postDelayed(sRefreshLoop, 60 * 1000L);
- updateGUIIfVisible();
+ registerForContextMenu(apsModeView);
+ updateGUI("onResume");
}
@Subscribe
public void onStatusEvent(final EventInitializationChanged ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventInitializationChanged");
}
@Subscribe
public void onStatusEvent(final EventPreferenceChange ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventPreferenceChange");
}
@Subscribe
public void onStatusEvent(final EventRefreshGui ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventRefreshGui");
+ }
+
+ @Subscribe
+ public void onStatusEvent(final EventAutosensCalculationFinished ev) {
+ scheduleUpdateGUI("EventRefreshGui");
}
@Subscribe
public void onStatusEvent(final EventTreatmentChange ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventTreatmentChange");
}
@Subscribe
public void onStatusEvent(final EventTempBasalChange ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventTempBasalChange");
}
@Subscribe
public void onStatusEvent(final EventNewBG ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventTempBasalChange");
}
@Subscribe
public void onStatusEvent(final EventNewOpenLoopNotification ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventNewOpenLoopNotification");
}
@Subscribe
public void onStatusEvent(final EventNewBasalProfile ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventNewBasalProfile");
}
@Subscribe
public void onStatusEvent(final EventTempTargetRangeChange ev) {
- updateGUIIfVisible();
+ scheduleUpdateGUI("EventTempTargetRangeChange");
}
@Subscribe
@@ -477,18 +749,13 @@ public class OverviewFragment extends Fragment {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus s) {
+ public void onStatusEvent(final EventPumpStatusChanged s) {
Activity activity = getActivity();
if (activity != null)
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
- if (s.sStatus == EventDanaRConnectionStatus.CONNECTING)
- updatePumpStatus(String.format(getString(R.string.danar_history_connectingfor), s.sSecondsElapsed));
- else if (s.sStatus == EventDanaRConnectionStatus.PERFORMING)
- updatePumpStatus(s.sAction);
- else if (s.sStatus == EventDanaRConnectionStatus.DISCONNECTED)
- updatePumpStatus(null);
+ updatePumpStatus(s.textStatus());
}
});
}
@@ -504,60 +771,62 @@ public class OverviewFragment extends Fragment {
});
}
- private void updateGUIIfVisible() {
- Activity activity = getActivity();
- if (activity != null)
- activity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- updateGUI();
- }
- });
- }
-
private void updatePumpStatus(String status) {
PumpInterface pump = MainApp.getConfigBuilder();
- if (status != null) {
+ if (!status.equals("")) {
pumpStatusView.setText(status);
- pumpStatusView.setVisibility(View.VISIBLE);
- } else if (pump.isBusy()) {
- pumpStatusView.setText(R.string.pumpbusy);
- pumpStatusView.setVisibility(View.VISIBLE);
- } else if (pump.isSuspended()) {
- // disable all treatment buttons because we are not able to check constraints without profile
- wizardButton.setVisibility(View.INVISIBLE);
- treatmentButton.setVisibility(View.INVISIBLE);
- quickWizardButton.setVisibility(View.INVISIBLE);
- pumpStatusView.setText(R.string.pumpsuspendedclicktorefresh);
- pumpStatusView.setVisibility(View.VISIBLE);
- } else if (!pump.isInitialized()) {
- // disable all treatment buttons because we are not able to check constraints without profile
- wizardButton.setVisibility(View.INVISIBLE);
- treatmentButton.setVisibility(View.INVISIBLE);
- quickWizardButton.setVisibility(View.INVISIBLE);
- pumpStatusView.setText(R.string.waitingforpumpclicktorefresh);
- pumpStatusView.setVisibility(View.VISIBLE);
+ pumpStatusLayout.setVisibility(View.VISIBLE);
+ loopStatusLayout.setVisibility(View.GONE);
} else {
wizardButton.setVisibility(View.VISIBLE);
treatmentButton.setVisibility(View.VISIBLE);
- pumpStatusView.setVisibility(View.GONE);
+ pumpStatusLayout.setVisibility(View.GONE);
+ loopStatusLayout.setVisibility(View.VISIBLE);
}
}
+ public void scheduleUpdateGUI(final String from) {
+ class UpdateRunnable implements Runnable {
+ public void run() {
+ Activity activity = getActivity();
+ if (activity != null)
+ activity.runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ updateGUI(from);
+ scheduledUpdate = null;
+ }
+ });
+ }
+ }
+ // prepare task for execution in 400 msec
+ // cancel waiting task to prevent multiple updates
+ if (scheduledUpdate != null)
+ scheduledUpdate.cancel(false);
+ Runnable task = new UpdateRunnable();
+ final int msec = 400;
+ scheduledUpdate = worker.schedule(task, msec, TimeUnit.MILLISECONDS);
+ }
+
@SuppressLint("SetTextI18n")
- public void updateGUI() {
+ public void updateGUI(String from) {
+ log.debug("updateGUI entered from: " + from);
updateNotifications();
BgReading actualBG = GlucoseStatus.actualBg();
BgReading lastBG = GlucoseStatus.lastBg();
if (MainApp.getConfigBuilder() == null || MainApp.getConfigBuilder().getActiveProfile() == null || MainApp.getConfigBuilder().getActiveProfile().getProfile() == null) {// app not initialized yet
pumpStatusView.setText(R.string.noprofileset);
- pumpStatusView.setVisibility(View.VISIBLE);
+ pumpStatusLayout.setVisibility(View.VISIBLE);
+ loopStatusLayout.setVisibility(View.GONE);
return;
} else {
- pumpStatusView.setVisibility(View.GONE);
+ pumpStatusLayout.setVisibility(View.GONE);
+ loopStatusLayout.setVisibility(View.VISIBLE);
}
+ PumpInterface pump = MainApp.getConfigBuilder();
+
// Skip if not initialized yet
if (bgGraph == null)
return;
@@ -572,7 +841,19 @@ public class OverviewFragment extends Fragment {
apsModeView.setBackgroundResource(R.drawable.loopmodeborder);
apsModeView.setTextColor(Color.BLACK);
final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
- if (activeloop != null && activeloop.isEnabled(activeloop.getType())) {
+ if (activeloop != null && activeloop.isEnabled(activeloop.getType()) && activeloop.isSuperBolus()) {
+ apsModeView.setBackgroundResource(R.drawable.loopmodesuspendedborder);
+ apsModeView.setText(String.format(MainApp.sResources.getString(R.string.loopsuperbolusfor), activeloop.minutesToEndOfSuspend()));
+ apsModeView.setTextColor(Color.WHITE);
+ } else if (activeloop != null && activeloop.isEnabled(activeloop.getType()) && activeloop.isSuspended()) {
+ apsModeView.setBackgroundResource(R.drawable.loopmodesuspendedborder);
+ apsModeView.setText(String.format(MainApp.sResources.getString(R.string.loopsuspendedfor), activeloop.minutesToEndOfSuspend()));
+ apsModeView.setTextColor(Color.WHITE);
+ } else if (pump.isSuspended()) {
+ apsModeView.setBackgroundResource(R.drawable.loopmodesuspendedborder);
+ apsModeView.setText(MainApp.sResources.getString(R.string.pumpsuspended));
+ apsModeView.setTextColor(Color.WHITE);
+ } else if (activeloop != null && activeloop.isEnabled(activeloop.getType())) {
if (MainApp.getConfigBuilder().isClosedModeEnabled()) {
apsModeView.setText(MainApp.sResources.getString(R.string.closedloop));
} else {
@@ -582,31 +863,7 @@ public class OverviewFragment extends Fragment {
apsModeView.setBackgroundResource(R.drawable.loopmodedisabledborder);
apsModeView.setText(MainApp.sResources.getString(R.string.disabledloop));
apsModeView.setTextColor(Color.WHITE);
-
}
-
-
- apsModeView.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View view) {
- view.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS);
- if (activeloop == null) {
- log.error("no active loop?");
- return true;
- } else if (activeloop.isEnabled(PluginBase.LOOP)) {
- activeloop.setFragmentEnabled(PluginBase.LOOP, false);
- activeloop.setFragmentVisible(PluginBase.LOOP, false);
- } else {
- activeloop.setFragmentEnabled(PluginBase.LOOP, true);
- activeloop.setFragmentVisible(PluginBase.LOOP, true);
- }
- MainApp.getConfigBuilder().storeSettings();
- MainApp.bus().post(new EventRefreshGui(false));
- return true;
- }
- });
- apsModeView.setLongClickable(true);
-
} else {
apsModeView.setVisibility(View.GONE);
}
@@ -623,15 +880,15 @@ public class OverviewFragment extends Fragment {
tempTargetView.setText(NSProfile.toUnitsString(tempTarget.low, NSProfile.fromMgdlToUnits(tempTarget.low, profile.getUnits()), profile.getUnits()) + " - " + NSProfile.toUnitsString(tempTarget.high, NSProfile.fromMgdlToUnits(tempTarget.high, profile.getUnits()), profile.getUnits()));
} else {
- String maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
- String minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
+ Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
+ Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
if (!profile.getUnits().equals(Constants.MGDL)) {
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
}
tempTargetView.setTextColor(Color.WHITE);
tempTargetView.setBackgroundResource(R.drawable.temptargetborderdisabled);
- tempTargetView.setText(prefs.getString("openapsma_min_bg", minBgDefault) + " - " + prefs.getString("openapsma_max_bg", maxBgDefault));
+ tempTargetView.setText(SP.getDouble("openapsma_min_bg", minBgDefault) + " - " + SP.getDouble("openapsma_max_bg", maxBgDefault));
tempTargetView.setVisibility(View.VISIBLE);
}
} else {
@@ -639,8 +896,6 @@ public class OverviewFragment extends Fragment {
}
// **** Temp button ****
- PumpInterface pump = MainApp.getConfigBuilder();
-
boolean showAcceptButton = !MainApp.getConfigBuilder().isClosedModeEnabled(); // Open mode needed
showAcceptButton = showAcceptButton && finalLastRun != null && finalLastRun.lastAPSRun != null; // aps result must exist
showAcceptButton = showAcceptButton && (finalLastRun.lastOpenModeAccept == null || finalLastRun.lastOpenModeAccept.getTime() < finalLastRun.lastAPSRun.getTime()); // never accepted or before last result
@@ -716,7 +971,7 @@ public class OverviewFragment extends Fragment {
quickWizardButton.setVisibility(View.VISIBLE);
String text = MainApp.sResources.getString(R.string.bolus) + ": " + quickWizardEntry.buttonText() + " " + DecimalFormatter.to0Decimal(quickWizardEntry.carbs()) + "g";
BolusWizard wizard = new BolusWizard();
- wizard.doCalc(profile.getDefaultProfile(), quickWizardEntry.carbs(), lastBG.valueToUnits(profile.getUnits()), 0d, true, true);
+ wizard.doCalc(profile.getDefaultProfile(), quickWizardEntry.carbs(), 0d, lastBG.valueToUnits(profile.getUnits()), 0d, true, true, false, false);
text += " " + DecimalFormatter.to2Decimal(wizard.calculatedTotalInsulin) + "U";
quickWizardButton.setText(text);
if (wizard.calculatedTotalInsulin <= 0)
@@ -726,15 +981,35 @@ public class OverviewFragment extends Fragment {
String units = profile.getUnits();
+ Double lowLine = SP.getDouble("low_mark", 0d);
+ Double highLine = SP.getDouble("high_mark", 0d);
+ if (lowLine < 1) {
+ lowLine = NSProfile.fromMgdlToUnits(OverviewPlugin.bgTargetLow, units);
+ }
+ if (highLine < 1) {
+ highLine = NSProfile.fromMgdlToUnits(OverviewPlugin.bgTargetHigh, units);
+ }
+
+
// **** BG value ****
if (lastBG != null) {
+ int color = MainApp.sResources.getColor(R.color.inrange);
+ if (lastBG.valueToUnits(units) < lowLine)
+ color = MainApp.sResources.getColor(R.color.low);
+ else if (lastBG.valueToUnits(units) > highLine)
+ color = MainApp.sResources.getColor(R.color.high);
bgView.setText(lastBG.valueToUnitsToString(profile.getUnits()));
arrowView.setText(lastBG.directionToSymbol());
+ bgView.setTextColor(color);
+ arrowView.setTextColor(color);
GlucoseStatus glucoseStatus = GlucoseStatus.getGlucoseStatusData();
if (glucoseStatus != null) {
deltaView.setText("Δ " + NSProfile.toUnitsString(glucoseStatus.delta, glucoseStatus.delta * Constants.MGDL_TO_MMOLL, units) + " " + units);
avgdeltaView.setText("øΔ15m: " + NSProfile.toUnitsString(glucoseStatus.short_avgdelta, glucoseStatus.short_avgdelta * Constants.MGDL_TO_MMOLL, units) +
" øΔ40m: " + NSProfile.toUnitsString(glucoseStatus.long_avgdelta, glucoseStatus.long_avgdelta * Constants.MGDL_TO_MMOLL, units));
+ } else {
+ deltaView.setText("Δ " + MainApp.sResources.getString(R.string.notavailable));
+ avgdeltaView.setText("");
}
BgReading.units = profile.getUnits();
@@ -753,10 +1028,13 @@ public class OverviewFragment extends Fragment {
timeAgoView.setText(String.format(MainApp.sResources.getString(R.string.minago), agoMin));
// iob
- MainApp.getConfigBuilder().getActiveTreatments().updateTotalIOB();
- IobTotal bolusIob = MainApp.getConfigBuilder().getActiveTreatments().getLastCalculation().round();
- MainApp.getConfigBuilder().getActiveTempBasals().updateTotalIOB();
- IobTotal basalIob = MainApp.getConfigBuilder().getActiveTempBasals().getLastCalculation().round();
+ ConfigBuilderPlugin.getActiveTreatments().updateTotalIOB();
+ IobTotal bolusIob = ConfigBuilderPlugin.getActiveTreatments().getLastCalculation().round();
+ IobTotal basalIob = new IobTotal(new Date().getTime());
+ if (ConfigBuilderPlugin.getActiveTempBasals() != null) {
+ ConfigBuilderPlugin.getActiveTempBasals().updateTotalIOB();
+ basalIob = ConfigBuilderPlugin.getActiveTempBasals().getLastCalculation().round();
+ }
String iobtext = getString(R.string.treatments_iob_label_string) + " " + DecimalFormatter.to2Decimal(bolusIob.iob + basalIob.basaliob) + "U ("
+ getString(R.string.bolus) + ": " + DecimalFormatter.to2Decimal(bolusIob.iob) + "U "
@@ -799,106 +1077,202 @@ public class OverviewFragment extends Fragment {
endTime = toTime;
}
- Double lowLine = SafeParse.stringToDouble(prefs.getString("low_mark", "0"));
- Double highLine = SafeParse.stringToDouble(prefs.getString("high_mark", "0"));
-
- if (lowLine < 1) {
- lowLine = NSProfile.fromMgdlToUnits(OverviewPlugin.bgTargetLow, units);
- }
-
- if (highLine < 1) {
- highLine = NSProfile.fromMgdlToUnits(OverviewPlugin.bgTargetHigh, units);
- }
-
LineGraphSeries basalsLineSeries = null;
- BarGraphSeries basalsSeries = null;
- LineGraphSeries seriesLow = null;
- LineGraphSeries seriesHigh = null;
- LineGraphSeries seriesNow = null;
- PointsGraphSeries seriesInRage = null;
- PointsGraphSeries seriesOutOfRange = null;
- PointsGraphSeries predSeries = null;
- PointsWithLabelGraphSeries seriesTreatments = null;
-
- // remove old data from graph
- bgGraph.removeAllSeries();
-
- // **** HIGH and LOW targets graph ****
- DataPoint[] lowDataPoints = new DataPoint[]{
- new DataPoint(fromTime, lowLine),
- new DataPoint(endTime, lowLine)
- };
- DataPoint[] highDataPoints = new DataPoint[]{
- new DataPoint(fromTime, highLine),
- new DataPoint(endTime, highLine)
- };
- bgGraph.addSeries(seriesLow = new LineGraphSeries(lowDataPoints));
- seriesLow.setColor(Color.RED);
- bgGraph.addSeries(seriesHigh = new LineGraphSeries(highDataPoints));
- seriesHigh.setColor(Color.RED);
+ LineGraphSeries baseBasalsSeries = null;
+ LineGraphSeries tempBasalsSeries = null;
+ AreaGraphSeries areaSeries;
+ LineGraphSeries seriesNow, seriesNow2;
+ PointsGraphSeries seriesInRage;
+ PointsGraphSeries seriesLow;
+ PointsGraphSeries seriesHigh;
+ PointsGraphSeries predSeries;
+ PointsWithLabelGraphSeries seriesTreatments;
// **** TEMP BASALS graph ****
- class BarDataPoint extends DataPoint {
- public BarDataPoint(double x, double y, boolean isTempBasal) {
- super(x, y);
- this.isTempBasal = isTempBasal;
- }
-
- public boolean isTempBasal = false;
- }
-
Double maxBasalValueFound = 0d;
long now = new Date().getTime();
- if (pump.getPumpDescription().isTempBasalCapable) {
- List basalArray = new ArrayList();
- List basalLineArray = new ArrayList();
+ if (pump.getPumpDescription().isTempBasalCapable && showBasalsView.isChecked()) {
+ List baseBasalArray = new ArrayList<>();
+ List tempBasalArray = new ArrayList<>();
+ List basalLineArray = new ArrayList<>();
+ double lastLineBasal = 0;
double lastBaseBasal = 0;
+ double lastTempBasal = 0;
for (long time = fromTime; time < now; time += 5 * 60 * 1000L) {
TempBasal tb = MainApp.getConfigBuilder().getTempBasal(new Date(time));
- double basebasal = profile.getBasal(NSProfile.secondsFromMidnight(new Date(time)));
- Double basal = 0d;
- if (tb != null)
- basalArray.add(new BarDataPoint(time, basal = tb.tempBasalConvertedToAbsolute(new Date(time)), true));
- else {
- basalArray.add(new BarDataPoint(time, basal = basebasal, false));
+ double baseBasalValue = profile.getBasal(NSProfile.secondsFromMidnight(new Date(time)));
+ double baseLineValue = baseBasalValue;
+ double tempBasalValue = 0;
+ double basal = 0d;
+ if (tb != null) {
+ tempBasalValue = tb.tempBasalConvertedToAbsolute(new Date(time));
+ if (tempBasalValue != lastTempBasal) {
+ tempBasalArray.add(new DataPoint(time, lastTempBasal));
+ tempBasalArray.add(new DataPoint(time, basal = tempBasalValue));
+ }
+ if (lastBaseBasal != 0d) {
+ baseBasalArray.add(new DataPoint(time, lastBaseBasal));
+ baseBasalArray.add(new DataPoint(time, 0d));
+ lastBaseBasal = 0d;
+ }
+ } else {
+ if (baseBasalValue != lastBaseBasal) {
+ baseBasalArray.add(new DataPoint(time, lastBaseBasal));
+ baseBasalArray.add(new DataPoint(time, basal = baseBasalValue));
+ lastBaseBasal = baseBasalValue;
+ }
+ if (lastTempBasal != 0) {
+ tempBasalArray.add(new DataPoint(time, lastTempBasal));
+ tempBasalArray.add(new DataPoint(time, 0d));
+ }
}
- if (basebasal != lastBaseBasal)
- basalLineArray.add(new DataPoint(time, lastBaseBasal));
- basalLineArray.add(new DataPoint(time, basebasal));
- lastBaseBasal = basebasal;
+
+ if (baseLineValue != lastLineBasal) {
+ basalLineArray.add(new DataPoint(time, lastLineBasal));
+ basalLineArray.add(new DataPoint(time, baseLineValue));
+ }
+
+ lastLineBasal = baseLineValue;
+ lastTempBasal = tempBasalValue;
maxBasalValueFound = Math.max(maxBasalValueFound, basal);
}
- BarDataPoint[] basal = new BarDataPoint[basalArray.size()];
- basal = basalArray.toArray(basal);
- bgGraph.addSeries(basalsSeries = new BarGraphSeries(basal));
- basalsSeries.setValueDependentColor(new ValueDependentColor() {
- @Override
- public int get(DataPoint data) {
- BarDataPoint point = (BarDataPoint) data;
- if (point.isTempBasal) return Color.BLUE;
- else return Color.CYAN;
- }
- });
+ basalLineArray.add(new DataPoint(now, lastLineBasal));
+ baseBasalArray.add(new DataPoint(now, lastBaseBasal));
+ tempBasalArray.add(new DataPoint(now, lastTempBasal));
+
+ DataPoint[] baseBasal = new DataPoint[baseBasalArray.size()];
+ baseBasal = baseBasalArray.toArray(baseBasal);
+ baseBasalsSeries = new LineGraphSeries<>(baseBasal);
+ baseBasalsSeries.setDrawBackground(true);
+ baseBasalsSeries.setBackgroundColor(Color.argb(200, 0x3F, 0x51, 0xB5));
+ baseBasalsSeries.setThickness(0);
+
+ DataPoint[] tempBasal = new DataPoint[tempBasalArray.size()];
+ tempBasal = tempBasalArray.toArray(tempBasal);
+ tempBasalsSeries = new LineGraphSeries<>(tempBasal);
+ tempBasalsSeries.setDrawBackground(true);
+ tempBasalsSeries.setBackgroundColor(Color.argb(200, 0x03, 0xA9, 0xF4));
+ tempBasalsSeries.setThickness(0);
+
DataPoint[] basalLine = new DataPoint[basalLineArray.size()];
basalLine = basalLineArray.toArray(basalLine);
- bgGraph.addSeries(basalsLineSeries = new LineGraphSeries(basalLine));
- basalsLineSeries.setColor(Color.CYAN);
- basalsLineSeries.setDrawDataPoints(false);
- basalsLineSeries.setThickness(2);
+ basalsLineSeries = new LineGraphSeries<>(basalLine);
+ Paint paint = new Paint();
+ paint.setStyle(Paint.Style.STROKE);
+ paint.setStrokeWidth(2);
+ paint.setPathEffect(new DashPathEffect(new float[]{2, 4}, 0));
+ paint.setColor(MainApp.sResources.getColor(R.color.basal));
+ basalsLineSeries.setCustomPaint(paint);
}
+ // **** IOB COB graph ****
+ FixedLineGraphSeries iobSeries;
+ FixedLineGraphSeries cobSeries;
+ Double maxIobValueFound = 0d;
+ Double maxCobValueFound = 0d;
+
+ if (showIobView.isChecked() || showCobView.isChecked()) {
+ //Date start = new Date();
+ List iobArray = new ArrayList<>();
+ List cobArray = new ArrayList<>();
+ for (long time = fromTime; time <= now; time += 5 * 60 * 1000L) {
+ if (showIobView.isChecked()) {
+ IobTotal iob = IobCobCalculatorPlugin.calulateFromTreatmentsAndTemps(time);
+ iobArray.add(new DataPoint(time, iob.iob));
+ maxIobValueFound = Math.max(maxIobValueFound, Math.abs(iob.iob));
+ }
+ if (showCobView.isChecked()) {
+ AutosensData autosensData = IobCobCalculatorPlugin.getAutosensData(time);
+ if (autosensData != null) {
+ cobArray.add(new DataPoint(time, autosensData.cob));
+ maxCobValueFound = Math.max(maxCobValueFound, autosensData.cob);
+ }
+ }
+ }
+ //Profiler.log(log, "IOB processed", start);
+ DataPoint[] iobData = new DataPoint[iobArray.size()];
+ iobData = iobArray.toArray(iobData);
+ iobSeries = new FixedLineGraphSeries<>(iobData);
+ iobSeries.setDrawBackground(true);
+ iobSeries.setBackgroundColor(0x80FFFFFF & MainApp.sResources.getColor(R.color.iob)); //50%
+ iobSeries.setColor(MainApp.sResources.getColor(R.color.iob));
+ iobSeries.setThickness(3);
+ iobSeries.setTitle("IOB");
+ iobGraph.getGridLabelRenderer().setVerticalLabelsAlign(Paint.Align.LEFT);
+
+
+ if (showIobView.isChecked() && showCobView.isChecked()) {
+ List cobArrayRescaled = new ArrayList<>();
+ for (int ci = 0; ci < cobArray.size(); ci++) {
+ cobArrayRescaled.add(new DataPoint(cobArray.get(ci).getX(), cobArray.get(ci).getY() * maxIobValueFound / maxCobValueFound / 2));
+ }
+ cobArray = cobArrayRescaled;
+ }
+ DataPoint[] cobData = new DataPoint[cobArray.size()];
+ cobData = cobArray.toArray(cobData);
+ cobSeries = new FixedLineGraphSeries<>(cobData);
+ cobSeries.setDrawBackground(true);
+ cobSeries.setBackgroundColor(0xB0FFFFFF & MainApp.sResources.getColor(R.color.cob)); //50%
+ cobSeries.setColor(MainApp.sResources.getColor(R.color.cob));
+ cobSeries.setThickness(3);
+ cobSeries.setTitle("COB");
+
+ iobGraph.removeAllSeries();
+
+ if (showIobView.isChecked()) {
+ iobGraph.addSeries(iobSeries);
+ }
+ if (showCobView.isChecked() && cobData.length > 0) {
+ iobGraph.addSeries(cobSeries);
+ /* iobGraph.getSecondScale().setLabelFormatter(new LabelFormatter() {
+ @Override
+ public String formatLabel(double value, boolean isValueX) {
+ return "";
+ }
+
+ @Override
+ public void setViewport(Viewport viewport) {
+ }
+ });
+*/
+ }
+ iobGraphLayout.setVisibility(View.VISIBLE);
+ } else {
+ iobGraphLayout.setVisibility(View.GONE);
+ }
+
+ // remove old data from graph
+ bgGraph.getSecondScale().getSeries().clear();
+ bgGraph.removeAllSeries();
+
+ // **** HIGH and LOW targets graph ****
+ DoubleDataPoint[] areaDataPoints = new DoubleDataPoint[]{
+ new DoubleDataPoint(fromTime, lowLine, highLine),
+ new DoubleDataPoint(endTime, lowLine, highLine)
+ };
+ bgGraph.addSeries(areaSeries = new AreaGraphSeries<>(areaDataPoints));
+ areaSeries.setColor(0);
+ areaSeries.setDrawBackground(true);
+ areaSeries.setBackgroundColor(Color.argb(40, 0, 255, 0));
+
// set manual x bounds to have nice steps
bgGraph.getViewport().setMaxX(endTime);
bgGraph.getViewport().setMinX(fromTime);
bgGraph.getViewport().setXAxisBoundsManual(true);
bgGraph.getGridLabelRenderer().setLabelFormatter(new TimeAsXAxisLabelFormatter(getActivity(), "HH"));
bgGraph.getGridLabelRenderer().setNumHorizontalLabels(7); // only 7 because of the space
+ iobGraph.getViewport().setMaxX(endTime);
+ iobGraph.getViewport().setMinX(fromTime);
+ iobGraph.getViewport().setXAxisBoundsManual(true);
+ iobGraph.getGridLabelRenderer().setLabelFormatter(new TimeAsXAxisLabelFormatter(getActivity(), "HH"));
+ iobGraph.getGridLabelRenderer().setNumHorizontalLabels(7); // only 7 because of the space
// **** BG graph ****
List bgReadingsArray = MainApp.getDbHelper().getBgreadingsDataFromTime(fromTime, true);
- List inRangeArray = new ArrayList();
- List outOfRangeArray = new ArrayList();
+ List inRangeArray = new ArrayList<>();
+ List lowArray = new ArrayList<>();
+ List highArray = new ArrayList<>();
if (bgReadingsArray.size() == 0)
return;
@@ -908,8 +1282,10 @@ public class OverviewFragment extends Fragment {
while (it.hasNext()) {
BgReading bg = it.next();
if (bg.value > maxBgValue) maxBgValue = bg.value;
- if (bg.valueToUnits(units) < lowLine || bg.valueToUnits(units) > highLine)
- outOfRangeArray.add(bg);
+ if (bg.valueToUnits(units) < lowLine)
+ lowArray.add(bg);
+ else if (bg.valueToUnits(units) > highLine)
+ highArray.add(bg);
else
inRangeArray.add(bg);
}
@@ -919,23 +1295,32 @@ public class OverviewFragment extends Fragment {
Integer numOfHorizLines = units.equals(Constants.MGDL) ? (int) (maxBgValue / 40 + 1) : (int) (maxBgValue / 2 + 1);
BgReading[] inRange = new BgReading[inRangeArray.size()];
- BgReading[] outOfRange = new BgReading[outOfRangeArray.size()];
+ BgReading[] low = new BgReading[lowArray.size()];
+ BgReading[] high = new BgReading[highArray.size()];
inRange = inRangeArray.toArray(inRange);
- outOfRange = outOfRangeArray.toArray(outOfRange);
+ low = lowArray.toArray(low);
+ high = highArray.toArray(high);
if (inRange.length > 0) {
- bgGraph.addSeries(seriesInRage = new PointsGraphSeries(inRange));
+ bgGraph.addSeries(seriesInRage = new PointsGraphSeries<>(inRange));
seriesInRage.setShape(PointsGraphSeries.Shape.POINT);
seriesInRage.setSize(5);
- seriesInRage.setColor(Color.GREEN);
+ seriesInRage.setColor(MainApp.sResources.getColor(R.color.inrange));
}
- if (outOfRange.length > 0) {
- bgGraph.addSeries(seriesOutOfRange = new PointsGraphSeries(outOfRange));
- seriesOutOfRange.setShape(PointsGraphSeries.Shape.POINT);
- seriesOutOfRange.setSize(5);
- seriesOutOfRange.setColor(Color.RED);
+ if (low.length > 0) {
+ bgGraph.addSeries(seriesLow = new PointsGraphSeries<>(low));
+ seriesLow.setShape(PointsGraphSeries.Shape.POINT);
+ seriesLow.setSize(5);
+ seriesLow.setColor(MainApp.sResources.getColor(R.color.low));
+ }
+
+ if (high.length > 0) {
+ bgGraph.addSeries(seriesHigh = new PointsGraphSeries<>(high));
+ seriesHigh.setShape(PointsGraphSeries.Shape.POINT);
+ seriesHigh.setSize(5);
+ seriesHigh.setColor(MainApp.sResources.getColor(R.color.high));
}
if (showPrediction) {
@@ -947,7 +1332,7 @@ public class OverviewFragment extends Fragment {
bgGraph.addSeries(predSeries = new PointsGraphSeries(pred));
predSeries.setShape(PointsGraphSeries.Shape.POINT);
predSeries.setSize(4);
- predSeries.setColor(Color.MAGENTA);
+ predSeries.setColor(MainApp.sResources.getColor(R.color.prediction));
}
}
@@ -956,9 +1341,14 @@ public class OverviewFragment extends Fragment {
new DataPoint(now, 0),
new DataPoint(now, maxBgValue)
};
- bgGraph.addSeries(seriesNow = new LineGraphSeries(nowPoints));
- seriesNow.setColor(Color.GREEN);
+ bgGraph.addSeries(seriesNow = new LineGraphSeries<>(nowPoints));
seriesNow.setDrawDataPoints(false);
+ DataPoint[] nowPoints2 = new DataPoint[]{
+ new DataPoint(now, 0),
+ new DataPoint(now, maxIobValueFound)
+ };
+ iobGraph.addSeries(seriesNow2 = new LineGraphSeries<>(nowPoints2));
+ seriesNow2.setDrawDataPoints(false);
//seriesNow.setThickness(1);
// custom paint to make a dotted line
Paint paint = new Paint();
@@ -967,6 +1357,7 @@ public class OverviewFragment extends Fragment {
paint.setPathEffect(new DashPathEffect(new float[]{10, 20}, 0));
paint.setColor(Color.WHITE);
seriesNow.setCustomPaint(paint);
+ seriesNow2.setCustomPaint(paint);
// Treatments
@@ -995,15 +1386,26 @@ public class OverviewFragment extends Fragment {
bgGraph.getGridLabelRenderer().setNumVerticalLabels(numOfHorizLines);
// set second scale
- if (pump.getPumpDescription().isTempBasalCapable) {
- bgGraph.getSecondScale().addSeries(basalsSeries);
+ if (pump.getPumpDescription().isTempBasalCapable && showBasalsView.isChecked()) {
+ bgGraph.getSecondScale().addSeries(baseBasalsSeries);
+ bgGraph.getSecondScale().addSeries(tempBasalsSeries);
bgGraph.getSecondScale().addSeries(basalsLineSeries);
bgGraph.getSecondScale().setMinY(0);
bgGraph.getSecondScale().setMaxY(maxBgValue / lowLine * maxBasalValueFound * 1.2d);
- bgGraph.getGridLabelRenderer().setVerticalLabelsSecondScaleColor(ContextCompat.getColor(MainApp.instance(), R.color.background_material_dark)); // same color as backround = hide
}
+ bgGraph.getSecondScale().setLabelFormatter(new LabelFormatter() {
+ @Override
+ public String formatLabel(double value, boolean isValueX) {
+ return "";
+ }
+
+ @Override
+ public void setViewport(Viewport viewport) {
+
+ }
+ });
+
- updatePumpStatus(null);
}
//Notifications
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java
index 9caa2fde10..b513d68dac 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/OverviewPlugin.java
@@ -1,8 +1,5 @@
package info.nightscout.androidaps.plugins.Overview;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-
import com.squareup.otto.Subscribe;
import org.json.JSONArray;
@@ -13,6 +10,7 @@ import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -27,8 +25,7 @@ public class OverviewPlugin implements PluginBase {
public NotificationStore notificationStore = new NotificationStore();
public OverviewPlugin() {
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- String storedData = preferences.getString("QuickWizard", "[]");
+ String storedData = SP.getString("QuickWizard", "[]");
try {
quickWizard.setData(new JSONArray(storedData));
} catch (JSONException e) {
@@ -73,6 +70,16 @@ public class OverviewPlugin implements PluginBase {
return false;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return false;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
// Always enabled
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/QuickWizard.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/QuickWizard.java
index ac7dbaa101..4f3e2a255c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/QuickWizard.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/QuickWizard.java
@@ -7,12 +7,10 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
-import java.util.Calendar;
import java.util.Date;
-import java.util.GregorianCalendar;
import info.nightscout.androidaps.MainApp;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventDismissBolusprogressIfRunning.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventDismissBolusprogressIfRunning.java
new file mode 100644
index 0000000000..9d8435eaf1
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/events/EventDismissBolusprogressIfRunning.java
@@ -0,0 +1,15 @@
+package info.nightscout.androidaps.plugins.Overview.events;
+
+import info.nightscout.androidaps.data.PumpEnactResult;
+
+/**
+ * Created by adrian on 20/02/17.
+ */
+
+public class EventDismissBolusprogressIfRunning {
+ public final PumpEnactResult result;
+
+ public EventDismissBolusprogressIfRunning(PumpEnactResult result) {
+ this.result = result;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/AreaGraphSeries.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/AreaGraphSeries.java
new file mode 100644
index 0000000000..08da836210
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/AreaGraphSeries.java
@@ -0,0 +1,456 @@
+/**
+ * GraphView
+ * Copyright (C) 2014 Jonas Gehring
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License,
+ * with the "Linking Exception", which can be found at the license.txt
+ * file in this program.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * with the "Linking Exception" along with this program; if not,
+ * write to the author Jonas Gehring .
+ */
+package info.nightscout.androidaps.plugins.Overview.graphExtensions;
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Path;
+
+import com.jjoe64.graphview.GraphView;
+import com.jjoe64.graphview.series.BaseSeries;
+import com.jjoe64.graphview.series.DataPointInterface;
+
+import java.util.Iterator;
+
+/**
+ * Series to plot the data as line.
+ * The line can be styled with many options.
+ *
+ * @author jjoe64
+ */
+public class AreaGraphSeries extends BaseSeries {
+ /**
+ * wrapped styles regarding the line
+ */
+ private final class Styles {
+ /**
+ * the thickness of the line.
+ * This option will be ignored if you are
+ * using a custom paint via {@link #setCustomPaint(android.graphics.Paint)}
+ */
+ private int thickness = 5;
+
+ /**
+ * flag whether the area under the line to the bottom
+ * of the viewport will be filled with a
+ * specific background color.
+ *
+ * @see #backgroundColor
+ */
+ private boolean drawBackground = false;
+
+ /**
+ * flag whether the data points are highlighted as
+ * a visible point.
+ *
+ * @see #dataPointsRadius
+ */
+ private boolean drawDataPoints = false;
+
+ /**
+ * the radius for the data points.
+ *
+ * @see #drawDataPoints
+ */
+ private float dataPointsRadius = 10f;
+
+ /**
+ * the background color for the filling under
+ * the line.
+ *
+ * @see #drawBackground
+ */
+ private int backgroundColor = Color.argb(100, 172, 218, 255);
+ }
+
+ /**
+ * wrapped styles
+ */
+ private Styles mStyles;
+
+ /**
+ * internal paint object
+ */
+ private Paint mPaint;
+
+ /**
+ * paint for the background
+ */
+ private Paint mPaintBackground;
+
+ /**
+ * path for the background filling
+ */
+ private Path mPathBackground;
+
+ /**
+ * path to the line
+ */
+ private Path mPath;
+ private Path mSecondPath;
+
+ /**
+ * custom paint that can be used.
+ * this will ignore the thickness and color styles.
+ */
+ private Paint mCustomPaint;
+
+ /**
+ * creates a series without data
+ */
+ public AreaGraphSeries() {
+ init();
+ }
+
+ /**
+ * creates a series with data
+ *
+ * @param data data points
+ */
+ public AreaGraphSeries(E[] data) {
+ super(data);
+ init();
+ }
+
+ /**
+ * do the initialization
+ * creates internal objects
+ */
+ protected void init() {
+ mStyles = new Styles();
+ mPaint = new Paint();
+ mPaint.setStrokeCap(Paint.Cap.ROUND);
+ mPaint.setStyle(Paint.Style.STROKE);
+ mPaintBackground = new Paint();
+
+ mPathBackground = new Path();
+ mPath = new Path();
+ mSecondPath = new Path();
+ }
+
+ /**
+ * plots the series
+ * draws the line and the background
+ *
+ * @param graphView graphview
+ * @param canvas canvas
+ * @param isSecondScale flag if it is the second scale
+ */
+ @Override
+ public void draw(GraphView graphView, Canvas canvas, boolean isSecondScale) {
+ resetDataPoints();
+
+ // get data
+ double maxX = graphView.getViewport().getMaxX(false);
+ double minX = graphView.getViewport().getMinX(false);
+
+ double maxY;
+ double minY;
+ if (isSecondScale) {
+ maxY = graphView.getSecondScale().getMaxY();
+ minY = graphView.getSecondScale().getMinY();
+ } else {
+ maxY = graphView.getViewport().getMaxY(false);
+ minY = graphView.getViewport().getMinY(false);
+ }
+
+ Iterator values = getValues(minX, maxX);
+
+ // draw background
+ double lastEndY1 = 0;
+ double lastEndY2 = 0;
+ double lastEndX = 0;
+
+ // draw data
+ mPaint.setStrokeWidth(mStyles.thickness);
+ mPaint.setColor(getColor());
+ mPaintBackground.setColor(mStyles.backgroundColor);
+
+ Paint paint;
+ if (mCustomPaint != null) {
+ paint = mCustomPaint;
+ } else {
+ paint = mPaint;
+ }
+
+ if (mStyles.drawBackground) {
+ mPathBackground.reset();
+ }
+
+ double diffY = maxY - minY;
+ double diffX = maxX - minX;
+
+ float graphHeight = graphView.getGraphContentHeight();
+ float graphWidth = graphView.getGraphContentWidth();
+ float graphLeft = graphView.getGraphContentLeft();
+ float graphTop = graphView.getGraphContentTop();
+
+ lastEndY1 = 0;
+ lastEndY2 = 0;
+ lastEndX = 0;
+ double lastUsedEndX = 0;
+ float firstX = 0;
+ int i=0;
+ while (values.hasNext()) {
+ E value = values.next();
+
+ double valY1 = value.getY() - minY;
+ double ratY1 = valY1 / diffY;
+ double y1 = graphHeight * ratY1;
+
+ double valY2 = value.getY2() - minY;
+ double ratY2 = valY2 / diffY;
+ double y2 = graphHeight * ratY2;
+
+ double valX = value.getX() - minX;
+ double ratX = valX / diffX;
+ double x = graphWidth * ratX;
+
+ double orgX = x;
+ double orgY1 = y1;
+ double orgY2 = y2;
+
+ if (i > 0) {
+ // overdraw
+ if (x > graphWidth) { // end right
+ double b = ((graphWidth - lastEndX) * (y1 - lastEndY1)/(x - lastEndX));
+ y1 = lastEndY1+b;
+ x = graphWidth;
+ }
+ if (x > graphWidth) { // end right
+ double b = ((graphWidth - lastEndX) * (y2 - lastEndY2)/(x - lastEndX));
+ y2 = lastEndY2+b;
+ x = graphWidth;
+ }
+ if (y1 < 0) { // end bottom
+ double b = ((0 - lastEndY1) * (x - lastEndX)/(y1 - lastEndY1));
+ x = lastEndX+b;
+ y1 = 0;
+ }
+ if (y2 < 0) { // end bottom
+ double b = ((0 - lastEndY2) * (x - lastEndX)/(y2 - lastEndY2));
+ x = lastEndX+b;
+ y2 = 0;
+ }
+ if (y1 > graphHeight) { // end top
+ double b = ((graphHeight - lastEndY1) * (x - lastEndX)/(y1 - lastEndY1));
+ x = lastEndX+b;
+ y1 = graphHeight;
+ }
+ if (y2 > graphHeight) { // end top
+ double b = ((graphHeight - lastEndY2) * (x - lastEndX)/(y2 - lastEndY2));
+ x = lastEndX+b;
+ y2 = graphHeight;
+ }
+ if (lastEndY1 < 0) { // start bottom
+ double b = ((0 - y1) * (x - lastEndX)/(lastEndY1 - y1));
+ lastEndX = x-b;
+ lastEndY1 = 0;
+ }
+ if (lastEndY2 < 0) { // start bottom
+ double b = ((0 - y2) * (x - lastEndX)/(lastEndY2 - y2));
+ lastEndX = x-b;
+ lastEndY2 = 0;
+ }
+ if (lastEndX < 0) { // start left
+ double b = ((0 - x) * (y1 - lastEndY1)/(lastEndX - x));
+ lastEndY1 = y1-b;
+ lastEndX = 0;
+ }
+ if (lastEndX < 0) { // start left
+ double b = ((0 - x) * (y2 - lastEndY2)/(lastEndX - x));
+ lastEndY2 = y2-b;
+ lastEndX = 0;
+ }
+ if (lastEndY1 > graphHeight) { // start top
+ double b = ((graphHeight - y1) * (x - lastEndX)/(lastEndY1 - y1));
+ lastEndX = x-b;
+ lastEndY1 = graphHeight;
+ }
+ if (lastEndY2 > graphHeight) { // start top
+ double b = ((graphHeight - y2) * (x - lastEndX)/(lastEndY2 - y2));
+ lastEndX = x-b;
+ lastEndY2 = graphHeight;
+ }
+
+ float startX = (float) lastEndX + (graphLeft + 1);
+ float startY1 = (float) (graphTop - lastEndY1) + graphHeight;
+ float startY2 = (float) (graphTop - lastEndY2) + graphHeight;
+ float endX = (float) x + (graphLeft + 1);
+ float endY1 = (float) (graphTop - y1) + graphHeight;
+ float endY2 = (float) (graphTop - y2) + graphHeight;
+
+ // draw data point
+ if (mStyles.drawDataPoints) {
+ //fix: last value was not drawn. Draw here now the end values
+ canvas.drawCircle(endX, endY1, mStyles.dataPointsRadius, mPaint);
+ canvas.drawCircle(endX, endY2, mStyles.dataPointsRadius, mPaint);
+ }
+ registerDataPoint(endX, endY1, value);
+ registerDataPoint(endX, endY2, value);
+
+ mPath.reset();
+ mSecondPath.reset();
+ mPath.moveTo(startX, startY1);
+ mSecondPath.moveTo(startX, startY2);
+ mPath.lineTo(endX, endY1);
+ mSecondPath.lineTo(endX, endY2);
+ canvas.drawPath(mPath, paint);
+ canvas.drawPath(mSecondPath, paint);
+ if (mStyles.drawBackground) {
+ canvas.drawRect((float)startX, (float)startY2, endX, endY1, mPaintBackground);
+ }
+ } else if (mStyles.drawDataPoints) {
+ //fix: last value not drawn as datapoint. Draw first point here, and then on every step the end values (above)
+ //float first_X = (float) x + (graphLeft + 1);
+ //float first_Y = (float) (graphTop - y) + graphHeight;
+ //TODO canvas.drawCircle(first_X, first_Y, dataPointsRadius, mPaint);
+ }
+ lastEndY1 = orgY1;
+ lastEndY2 = orgY2;
+ lastEndX = orgX;
+ i++;
+ }
+
+/*
+ if (mStyles.drawBackground) {
+ // end / close path
+ mPathBackground.lineTo((float) lastUsedEndX, graphHeight + graphTop);
+ mPathBackground.lineTo(firstX, graphHeight + graphTop);
+ mPathBackground.close();
+ canvas.drawPath(mPathBackground, mPaintBackground);
+ }
+*/
+
+ }
+
+ /**
+ * the thickness of the line.
+ * This option will be ignored if you are
+ * using a custom paint via {@link #setCustomPaint(android.graphics.Paint)}
+ *
+ * @return the thickness of the line
+ */
+ public int getThickness() {
+ return mStyles.thickness;
+ }
+
+ /**
+ * the thickness of the line.
+ * This option will be ignored if you are
+ * using a custom paint via {@link #setCustomPaint(android.graphics.Paint)}
+ *
+ * @param thickness thickness of the line
+ */
+ public void setThickness(int thickness) {
+ mStyles.thickness = thickness;
+ }
+
+ /**
+ * flag whether the area under the line to the bottom
+ * of the viewport will be filled with a
+ * specific background color.
+ *
+ * @return whether the background will be drawn
+ * @see #getBackgroundColor()
+ */
+ public boolean isDrawBackground() {
+ return mStyles.drawBackground;
+ }
+
+ /**
+ * flag whether the area under the line to the bottom
+ * of the viewport will be filled with a
+ * specific background color.
+ *
+ * @param drawBackground whether the background will be drawn
+ * @see #setBackgroundColor(int)
+ */
+ public void setDrawBackground(boolean drawBackground) {
+ mStyles.drawBackground = drawBackground;
+ }
+
+ /**
+ * flag whether the data points are highlighted as
+ * a visible point.
+ *
+ * @return flag whether the data points are highlighted
+ * @see #setDataPointsRadius(float)
+ */
+ public boolean isDrawDataPoints() {
+ return mStyles.drawDataPoints;
+ }
+
+ /**
+ * flag whether the data points are highlighted as
+ * a visible point.
+ *
+ * @param drawDataPoints flag whether the data points are highlighted
+ * @see #setDataPointsRadius(float)
+ */
+ public void setDrawDataPoints(boolean drawDataPoints) {
+ mStyles.drawDataPoints = drawDataPoints;
+ }
+
+ /**
+ * @return the radius for the data points.
+ * @see #setDrawDataPoints(boolean)
+ */
+ public float getDataPointsRadius() {
+ return mStyles.dataPointsRadius;
+ }
+
+ /**
+ * @param dataPointsRadius the radius for the data points.
+ * @see #setDrawDataPoints(boolean)
+ */
+ public void setDataPointsRadius(float dataPointsRadius) {
+ mStyles.dataPointsRadius = dataPointsRadius;
+ }
+
+ /**
+ * @return the background color for the filling under
+ * the line.
+ * @see #setDrawBackground(boolean)
+ */
+ public int getBackgroundColor() {
+ return mStyles.backgroundColor;
+ }
+
+ /**
+ * @param backgroundColor the background color for the filling under
+ * the line.
+ * @see #setDrawBackground(boolean)
+ */
+ public void setBackgroundColor(int backgroundColor) {
+ mStyles.backgroundColor = backgroundColor;
+ }
+
+ /**
+ * custom paint that can be used.
+ * this will ignore the thickness and color styles.
+ *
+ * @param customPaint the custom paint to be used for rendering the line
+ */
+ public void setCustomPaint(Paint customPaint) {
+ this.mCustomPaint = customPaint;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/DoubleDataPoint.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/DoubleDataPoint.java
new file mode 100644
index 0000000000..5ac5224c65
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/DoubleDataPoint.java
@@ -0,0 +1,41 @@
+package info.nightscout.androidaps.plugins.Overview.graphExtensions;
+
+import com.jjoe64.graphview.series.DataPointInterface;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Created by mike on 21.04.2017.
+ */
+
+public class DoubleDataPoint implements DataPointInterface, Serializable {
+ private static final long serialVersionUID=1428267322645L;
+
+ private double x;
+ private double y1;
+ private double y2;
+
+ public DoubleDataPoint(double x, double y1, double y2) {
+ this.x=x;
+ this.y1=y1;
+ this.y2=y2;
+ }
+
+ public double getX() {
+ return x;
+ }
+
+ @Override
+ public double getY() {
+ return y1;
+ }
+
+ public double getY1() {
+ return y1;
+ }
+
+ public double getY2() {
+ return y2;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/FixedLineGraphSeries.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/FixedLineGraphSeries.java
new file mode 100644
index 0000000000..922ac3a85b
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/graphExtensions/FixedLineGraphSeries.java
@@ -0,0 +1,405 @@
+package info.nightscout.androidaps.plugins.Overview.graphExtensions;
+
+/**
+ * Created by mike on 24.04.2017.
+ */
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Path;
+
+import com.jjoe64.graphview.GraphView;
+import com.jjoe64.graphview.series.BaseSeries;
+import com.jjoe64.graphview.series.DataPointInterface;
+
+import java.util.Iterator;
+
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Path;
+
+import com.jjoe64.graphview.GraphView;
+
+import java.util.Iterator;
+
+/**
+ * Series to plot the data as line.
+ * The line can be styled with many options.
+ *
+ * @author jjoe64
+ */
+public class FixedLineGraphSeries extends BaseSeries {
+ /**
+ * wrapped styles regarding the line
+ */
+ private final class Styles {
+ /**
+ * the thickness of the line.
+ * This option will be ignored if you are
+ * using a custom paint via {@link #setCustomPaint(android.graphics.Paint)}
+ */
+ private int thickness = 5;
+
+ /**
+ * flag whether the area under the line to the bottom
+ * of the viewport will be filled with a
+ * specific background color.
+ *
+ * @see #backgroundColor
+ */
+ private boolean drawBackground = false;
+
+ /**
+ * flag whether the data points are highlighted as
+ * a visible point.
+ *
+ * @see #dataPointsRadius
+ */
+ private boolean drawDataPoints = false;
+
+ /**
+ * the radius for the data points.
+ *
+ * @see #drawDataPoints
+ */
+ private float dataPointsRadius = 10f;
+
+ /**
+ * the background color for the filling under
+ * the line.
+ *
+ * @see #drawBackground
+ */
+ private int backgroundColor = Color.argb(100, 172, 218, 255);
+ }
+
+ /**
+ * wrapped styles
+ */
+ private Styles mStyles;
+
+ /**
+ * internal paint object
+ */
+ private Paint mPaint;
+
+ /**
+ * paint for the background
+ */
+ private Paint mPaintBackground;
+
+ /**
+ * path for the background filling
+ */
+ private Path mPathBackground;
+
+ /**
+ * path to the line
+ */
+ private Path mPath;
+
+ /**
+ * custom paint that can be used.
+ * this will ignore the thickness and color styles.
+ */
+ private Paint mCustomPaint;
+
+ /**
+ * creates a series without data
+ */
+ public FixedLineGraphSeries() {
+ init();
+ }
+
+ /**
+ * creates a series with data
+ *
+ * @param data data points
+ */
+ public FixedLineGraphSeries(E[] data) {
+ super(data);
+ init();
+ }
+
+ /**
+ * do the initialization
+ * creates internal objects
+ */
+ protected void init() {
+ mStyles = new Styles();
+ mPaint = new Paint();
+ mPaint.setStrokeCap(Paint.Cap.ROUND);
+ mPaint.setStyle(Paint.Style.STROKE);
+ mPaintBackground = new Paint();
+
+ mPathBackground = new Path();
+ mPath = new Path();
+ }
+
+ /**
+ * plots the series
+ * draws the line and the background
+ *
+ * @param graphView graphview
+ * @param canvas canvas
+ * @param isSecondScale flag if it is the second scale
+ */
+ @Override
+ public void draw(GraphView graphView, Canvas canvas, boolean isSecondScale) {
+ resetDataPoints();
+
+ // get data
+ double maxX = graphView.getViewport().getMaxX(false);
+ double minX = graphView.getViewport().getMinX(false);
+
+ double maxY;
+ double minY;
+ if (isSecondScale) {
+ maxY = graphView.getSecondScale().getMaxY();
+ minY = graphView.getSecondScale().getMinY();
+ } else {
+ maxY = graphView.getViewport().getMaxY(false);
+ minY = graphView.getViewport().getMinY(false);
+ }
+
+ Iterator values = getValues(minX, maxX);
+
+ // draw background
+ double lastEndY = 0;
+ double lastEndX = 0;
+
+ // draw data
+ mPaint.setStrokeWidth(mStyles.thickness);
+ mPaint.setColor(getColor());
+ mPaintBackground.setColor(mStyles.backgroundColor);
+
+ Paint paint;
+ if (mCustomPaint != null) {
+ paint = mCustomPaint;
+ } else {
+ paint = mPaint;
+ }
+
+ if (mStyles.drawBackground) {
+ mPathBackground.reset();
+ }
+
+ double diffY = maxY - minY;
+ double diffX = maxX - minX;
+
+ float graphHeight = graphView.getGraphContentHeight();
+ float graphWidth = graphView.getGraphContentWidth();
+ float graphLeft = graphView.getGraphContentLeft();
+ float graphTop = graphView.getGraphContentTop();
+
+ lastEndY = 0;
+ lastEndX = 0;
+ double lastUsedEndX = 0;
+ float firstX = 0;
+ int i=0;
+ while (values.hasNext()) {
+ E value = values.next();
+
+ double valY = value.getY() - minY;
+ double ratY = valY / diffY;
+ double y = graphHeight * ratY;
+
+ double valX = value.getX() - minX;
+ double ratX = valX / diffX;
+ double x = graphWidth * ratX;
+
+ double orgX = x;
+ double orgY = y;
+
+ if (i > 0) {
+ // overdraw
+ if (x > graphWidth) { // end right
+ double b = ((graphWidth - lastEndX) * (y - lastEndY)/(x - lastEndX));
+ y = lastEndY+b;
+ x = graphWidth;
+ }
+ if (y < 0) { // end bottom
+ double b = ((0 - lastEndY) * (x - lastEndX)/(y - lastEndY));
+ x = lastEndX+b;
+ y = 0;
+ }
+ if (y > graphHeight) { // end top
+ double b = ((graphHeight - lastEndY) * (x - lastEndX)/(y - lastEndY));
+ x = lastEndX+b;
+ y = graphHeight;
+ }
+ if (lastEndY < 0) { // start bottom
+ double b = ((0 - y) * (x - lastEndX)/(lastEndY - y));
+ lastEndX = x-b;
+ lastEndY = 0;
+ }
+ if (lastEndX < 0) { // start left
+ double b = ((0 - x) * (y - lastEndY)/(lastEndX - x));
+ lastEndY = y-b;
+ lastEndX = 0;
+ }
+ if (lastEndY > graphHeight) { // start top
+ double b = ((graphHeight - y) * (x - lastEndX)/(lastEndY - y));
+ lastEndX = x-b;
+ lastEndY = graphHeight;
+ }
+
+ float startX = (float) lastEndX + (graphLeft + 1);
+ float startY = (float) (graphTop - lastEndY) + graphHeight;
+ float endX = (float) x + (graphLeft + 1);
+ float endY = (float) (graphTop - y) + graphHeight;
+
+ // draw data point
+ if (mStyles.drawDataPoints) {
+ //fix: last value was not drawn. Draw here now the end values
+ canvas.drawCircle(endX, endY, mStyles.dataPointsRadius, mPaint);
+ }
+ registerDataPoint(endX, endY, value);
+
+ mPath.reset();
+ mPath.moveTo(startX, startY);
+ mPath.lineTo(endX, endY);
+ canvas.drawPath(mPath, paint);
+ if (mStyles.drawBackground) {
+ if (i==1) {
+ firstX = startX;
+ mPathBackground.moveTo(startX, startY);
+ }
+ mPathBackground.lineTo(endX, endY);
+ }
+ lastUsedEndX = endX;
+ } else if (mStyles.drawDataPoints) {
+ //fix: last value not drawn as datapoint. Draw first point here, and then on every step the end values (above)
+ float first_X = (float) x + (graphLeft + 1);
+ float first_Y = (float) (graphTop - y) + graphHeight;
+ //TODO canvas.drawCircle(first_X, first_Y, dataPointsRadius, mPaint);
+ }
+ lastEndY = orgY;
+ lastEndX = orgX;
+ i++;
+ }
+
+ if (mStyles.drawBackground) {
+ // end / close path
+ mPathBackground.lineTo((float) lastUsedEndX, (float) (graphTop - (-minY / diffY * graphHeight)) + graphHeight);
+ mPathBackground.lineTo(firstX, (float) (graphTop - (-minY / diffY * graphHeight)) + graphHeight);
+ mPathBackground.close();
+ canvas.drawPath(mPathBackground, mPaintBackground);
+ }
+
+ }
+
+ /**
+ * the thickness of the line.
+ * This option will be ignored if you are
+ * using a custom paint via {@link #setCustomPaint(android.graphics.Paint)}
+ *
+ * @return the thickness of the line
+ */
+ public int getThickness() {
+ return mStyles.thickness;
+ }
+
+ /**
+ * the thickness of the line.
+ * This option will be ignored if you are
+ * using a custom paint via {@link #setCustomPaint(android.graphics.Paint)}
+ *
+ * @param thickness thickness of the line
+ */
+ public void setThickness(int thickness) {
+ mStyles.thickness = thickness;
+ }
+
+ /**
+ * flag whether the area under the line to the bottom
+ * of the viewport will be filled with a
+ * specific background color.
+ *
+ * @return whether the background will be drawn
+ * @see #getBackgroundColor()
+ */
+ public boolean isDrawBackground() {
+ return mStyles.drawBackground;
+ }
+
+ /**
+ * flag whether the area under the line to the bottom
+ * of the viewport will be filled with a
+ * specific background color.
+ *
+ * @param drawBackground whether the background will be drawn
+ * @see #setBackgroundColor(int)
+ */
+ public void setDrawBackground(boolean drawBackground) {
+ mStyles.drawBackground = drawBackground;
+ }
+
+ /**
+ * flag whether the data points are highlighted as
+ * a visible point.
+ *
+ * @return flag whether the data points are highlighted
+ * @see #setDataPointsRadius(float)
+ */
+ public boolean isDrawDataPoints() {
+ return mStyles.drawDataPoints;
+ }
+
+ /**
+ * flag whether the data points are highlighted as
+ * a visible point.
+ *
+ * @param drawDataPoints flag whether the data points are highlighted
+ * @see #setDataPointsRadius(float)
+ */
+ public void setDrawDataPoints(boolean drawDataPoints) {
+ mStyles.drawDataPoints = drawDataPoints;
+ }
+
+ /**
+ * @return the radius for the data points.
+ * @see #setDrawDataPoints(boolean)
+ */
+ public float getDataPointsRadius() {
+ return mStyles.dataPointsRadius;
+ }
+
+ /**
+ * @param dataPointsRadius the radius for the data points.
+ * @see #setDrawDataPoints(boolean)
+ */
+ public void setDataPointsRadius(float dataPointsRadius) {
+ mStyles.dataPointsRadius = dataPointsRadius;
+ }
+
+ /**
+ * @return the background color for the filling under
+ * the line.
+ * @see #setDrawBackground(boolean)
+ */
+ public int getBackgroundColor() {
+ return mStyles.backgroundColor;
+ }
+
+ /**
+ * @param backgroundColor the background color for the filling under
+ * the line.
+ * @see #setDrawBackground(boolean)
+ */
+ public void setBackgroundColor(int backgroundColor) {
+ mStyles.backgroundColor = backgroundColor;
+ }
+
+ /**
+ * custom paint that can be used.
+ * this will ignore the thickness and color styles.
+ *
+ * @param customPaint the custom paint to be used for rendering the line
+ */
+ public void setCustomPaint(Paint customPaint) {
+ this.mCustomPaint = customPaint;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationFragment.java
new file mode 100644
index 0000000000..78e7791c2d
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationFragment.java
@@ -0,0 +1,12 @@
+package info.nightscout.androidaps.plugins.Persistentnotification;
+
+import android.support.v4.app.Fragment;
+
+/**
+ * Created by adrian on 23/12/16.
+ */
+
+public class PersistentNotificationFragment extends Fragment {
+
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java
similarity index 88%
rename from app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java
index 532959d926..6acd7a810c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Persistentnotification/PersistentNotificationPlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.persistentnotification;
+package info.nightscout.androidaps.plugins.Persistentnotification;
import android.app.NotificationManager;
import android.app.PendingIntent;
@@ -11,6 +11,8 @@ import android.support.v7.app.NotificationCompat;
import com.squareup.otto.Subscribe;
+import java.util.Date;
+
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainActivity;
import info.nightscout.androidaps.MainApp;
@@ -28,7 +30,8 @@ import info.nightscout.androidaps.events.EventTreatmentChange;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.data.IobTotal;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DecimalFormatter;
/**
@@ -38,7 +41,7 @@ import info.nightscout.utils.DecimalFormatter;
public class PersistentNotificationPlugin implements PluginBase{
private static final int ONGOING_NOTIFICATION_ID = 4711;
- static boolean fragmentEnabled = false;
+ static boolean fragmentEnabled = true;
private final Context ctx;
public PersistentNotificationPlugin(Context ctx) {
@@ -82,6 +85,16 @@ public class PersistentNotificationPlugin implements PluginBase{
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
@@ -131,10 +144,13 @@ public class PersistentNotificationPlugin implements PluginBase{
}
//IOB
- MainApp.getConfigBuilder().getActiveTreatments().updateTotalIOB();
- IobTotal bolusIob = MainApp.getConfigBuilder().getActiveTreatments().getLastCalculation().round();
- MainApp.getConfigBuilder().getActiveTempBasals().updateTotalIOB();
- IobTotal basalIob = MainApp.getConfigBuilder().getActiveTempBasals().getLastCalculation().round();
+ ConfigBuilderPlugin.getActiveTreatments().updateTotalIOB();
+ IobTotal bolusIob = ConfigBuilderPlugin.getActiveTreatments().getLastCalculation().round();
+ IobTotal basalIob = new IobTotal(new Date().getTime());
+ if (ConfigBuilderPlugin.getActiveTempBasals() != null) {
+ ConfigBuilderPlugin.getActiveTempBasals().updateTotalIOB();
+ basalIob = ConfigBuilderPlugin.getActiveTempBasals().getLastCalculation().round();
+ }
String line2 = ctx.getString(R.string.treatments_iob_label_string) + " " + DecimalFormatter.to2Decimal(bolusIob.iob + basalIob.basaliob) + "U ("
+ ctx.getString(R.string.bolus) + ": " + DecimalFormatter.to2Decimal(bolusIob.iob) + "U "
+ ctx.getString(R.string.basal) + ": " + DecimalFormatter.to2Decimal(basalIob.basaliob) + "U)";
@@ -151,7 +167,7 @@ public class PersistentNotificationPlugin implements PluginBase{
builder.setOngoing(true);
builder.setCategory(NotificationCompat.CATEGORY_STATUS);
builder.setSmallIcon(R.drawable.ic_notification);
- Bitmap largeIcon = BitmapFactory.decodeResource(ctx.getResources(), R.mipmap.ic_launcher);
+ Bitmap largeIcon = BitmapFactory.decodeResource(ctx.getResources(), R.mipmap.blueowl);
builder.setLargeIcon(largeIcon);
builder.setContentTitle(line1);
builder.setContentText(line2);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileCircadianPercentage/CircadianPercentageProfileFragment.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileCircadianPercentage/CircadianPercentageProfileFragment.java
index bb4513b069..7ae97a17b5 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfileFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileCircadianPercentage/CircadianPercentageProfileFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.CircadianPercentageProfile;
+package info.nightscout.androidaps.plugins.ProfileCircadianPercentage;
import android.app.Activity;
@@ -33,14 +33,13 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventInitializationChanged;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SafeParse;
-public class CircadianPercentageProfileFragment extends Fragment implements FragmentBase {
+public class CircadianPercentageProfileFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(CircadianPercentageProfileFragment.class);
private static CircadianPercentageProfilePlugin circadianPercentageProfilePlugin = new CircadianPercentageProfilePlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileCircadianPercentage/CircadianPercentageProfilePlugin.java
similarity index 72%
rename from app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileCircadianPercentage/CircadianPercentageProfilePlugin.java
index 56aa813c29..5a8813bdf8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/CircadianPercentageProfile/CircadianPercentageProfilePlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileCircadianPercentage/CircadianPercentageProfilePlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.CircadianPercentageProfile;
+package info.nightscout.androidaps.plugins.ProfileCircadianPercentage;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
@@ -15,8 +15,9 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DecimalFormatter;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
@@ -28,7 +29,7 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
public static final String SETTINGS_PREFIX = "CircadianPercentageProfile";
private static Logger log = LoggerFactory.getLogger(CircadianPercentageProfilePlugin.class);
- private static boolean fragmentEnabled = true;
+ private static boolean fragmentEnabled = false;
private static boolean fragmentVisible = true;
private static NSProfile convertedProfile = null;
@@ -66,7 +67,7 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
@Override
public String getNameShort() {
String name = MainApp.sResources.getString(R.string.circadian_percentage_profile_shortname);
- if (!name.trim().isEmpty()){
+ if (!name.trim().isEmpty()) {
//only if translation exists
return name;
}
@@ -89,6 +90,16 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PROFILE) this.fragmentEnabled = fragmentEnabled;
@@ -125,75 +136,19 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
void loadSettings() {
if (Config.logPrefsChange)
log.debug("Loading stored settings");
- SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- if (settings.contains(SETTINGS_PREFIX + "mgdl"))
- try {
- mgdl = settings.getBoolean(SETTINGS_PREFIX + "mgdl", true);
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else mgdl = true;
- if (settings.contains(SETTINGS_PREFIX + "mmol"))
- try {
- mmol = settings.getBoolean(SETTINGS_PREFIX + "mmol", false);
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else mmol = false;
- if (settings.contains(SETTINGS_PREFIX + "dia"))
- try {
- dia = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "dia", "3"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else dia = 3d;
- if (settings.contains(SETTINGS_PREFIX + "targetlow"))
- try {
- targetLow = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "targetlow", "80"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else targetLow = 80d;
- if (settings.contains(SETTINGS_PREFIX + "targethigh"))
- try {
- targetHigh = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "targethigh", "120"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else targetHigh = 120d;
- if (settings.contains(SETTINGS_PREFIX + "percentage"))
- try {
- percentage = SafeParse.stringToInt(settings.getString(SETTINGS_PREFIX + "percentage", "100"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else percentage = 100;
-
- if (settings.contains(SETTINGS_PREFIX + "timeshift"))
- try {
- timeshift = SafeParse.stringToInt(settings.getString(SETTINGS_PREFIX + "timeshift", "0"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else timeshift = 0;
+ mgdl = SP.getBoolean(SETTINGS_PREFIX + "mgdl", true);
+ mmol = SP.getBoolean(SETTINGS_PREFIX + "mmol", false);
+ dia = SP.getDouble(SETTINGS_PREFIX + "dia", Constants.defaultDIA);
+ targetLow = SP.getDouble(SETTINGS_PREFIX + "targetlow", 80d);
+ targetHigh = SP.getDouble(SETTINGS_PREFIX + "targethigh", 120d);
+ percentage = SP.getInt(SETTINGS_PREFIX + "percentage", 100);
+ timeshift = SP.getInt(SETTINGS_PREFIX + "timeshift", 0);
for (int i = 0; i < 24; i++) {
- try {
- basebasal[i] = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "basebasal" + i, DecimalFormatter.to2Decimal(basebasal[i])));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- try {
- baseic[i] = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "baseic" + i, DecimalFormatter.to2Decimal(baseic[i])));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- try {
- baseisf[i] = SafeParse.stringToDouble(settings.getString(SETTINGS_PREFIX + "baseisf" + i, DecimalFormatter.to2Decimal(baseisf[i])));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
+ basebasal[i] = SP.getDouble(SETTINGS_PREFIX + "basebasal" + i, basebasal[i]);
+ baseic[i] = SP.getDouble(SETTINGS_PREFIX + "baseic" + i, baseic[i]);
+ baseisf[i] = SP.getDouble(SETTINGS_PREFIX + "baseisf" + i, baseisf[i]);
}
@@ -227,7 +182,7 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
}
profile.put("carbratio", icArray);
- JSONArray isfArray = new JSONArray();
+ JSONArray isfArray = new JSONArray();
for (int i = 0; i < 24; i++) {
isfArray.put(new JSONObject().put("timeAsSeconds", i * 60 * 60).put("value", baseisf[(offset + i) % 24] * 100d / percentage));
}
@@ -259,7 +214,7 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
}
private void performLimitCheck() {
- if (percentage < Constants.CPP_MIN_PERCENTAGE || percentage > Constants.CPP_MAX_PERCENTAGE){
+ if (percentage < Constants.CPP_MIN_PERCENTAGE || percentage > Constants.CPP_MAX_PERCENTAGE) {
String msg = String.format(MainApp.sResources.getString(R.string.openapsma_valueoutofrange), "Profile-Percentage");
log.error(msg);
MainApp.getConfigBuilder().uploadError(msg);
@@ -289,13 +244,15 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
return profileString(baseisf, 0, 100, false);
}
- String baseBasalString() {return profileString(basebasal, 0, 100, true);}
+ String baseBasalString() {
+ return profileString(basebasal, 0, 100, true);
+ }
- public double baseBasalSum(){
+ public double baseBasalSum() {
return sum(basebasal);
}
- public double percentageBasalSum(){
+ public double percentageBasalSum() {
double result = 0;
for (int i = 0; i < basebasal.length; i++) {
result += SafeParse.stringToDouble(DecimalFormatter.to2Decimal(basebasal[i] * percentage / 100d));
@@ -304,7 +261,7 @@ public class CircadianPercentageProfilePlugin implements PluginBase, ProfileInte
}
- public static double sum(double values[]){
+ public static double sum(double values[]) {
double result = 0;
for (int i = 0; i < values.length; i++) {
result += values[i];
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/LocalProfile/LocalProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java
similarity index 96%
rename from app/src/main/java/info/nightscout/androidaps/plugins/LocalProfile/LocalProfileFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java
index 552a05cc28..86a983ae17 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/LocalProfile/LocalProfileFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfileFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.LocalProfile;
+package info.nightscout.androidaps.plugins.ProfileLocal;
import android.app.Activity;
@@ -11,7 +11,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
-import android.widget.LinearLayout;
import android.widget.RadioButton;
import com.squareup.otto.Subscribe;
@@ -24,14 +23,13 @@ import java.text.DecimalFormat;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventInitializationChanged;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.TimeListEdit;
-public class LocalProfileFragment extends Fragment implements FragmentBase {
+public class LocalProfileFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(LocalProfileFragment.class);
private static LocalProfilePlugin localProfilePlugin = new LocalProfilePlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/LocalProfile/LocalProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java
similarity index 60%
rename from app/src/main/java/info/nightscout/androidaps/plugins/LocalProfile/LocalProfilePlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java
index 91c994cdbb..6e822e5d43 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/LocalProfile/LocalProfilePlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileLocal/LocalProfilePlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.LocalProfile;
+package info.nightscout.androidaps.plugins.ProfileLocal;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
@@ -15,9 +15,8 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
-import info.nightscout.androidaps.plugins.SimpleProfile.SimpleProfileFragment;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -25,7 +24,7 @@ import info.nightscout.utils.SafeParse;
public class LocalProfilePlugin implements PluginBase, ProfileInterface {
private static Logger log = LoggerFactory.getLogger(LocalProfilePlugin.class);
- private static boolean fragmentEnabled = true;
+ private static boolean fragmentEnabled = false;
private static boolean fragmentVisible = true;
private static NSProfile convertedProfile = null;
@@ -63,7 +62,7 @@ public class LocalProfilePlugin implements PluginBase, ProfileInterface {
@Override
public String getNameShort() {
String name = MainApp.sResources.getString(R.string.localprofile_shortname);
- if (!name.trim().isEmpty()){
+ if (!name.trim().isEmpty()) {
//only if translation exists
return name;
}
@@ -86,6 +85,16 @@ public class LocalProfilePlugin implements PluginBase, ProfileInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PROFILE) this.fragmentEnabled = fragmentEnabled;
@@ -117,117 +126,48 @@ public class LocalProfilePlugin implements PluginBase, ProfileInterface {
private void loadSettings() {
if (Config.logPrefsChange)
log.debug("Loading stored settings");
- SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- if (settings.contains("LocalProfile" + "mgdl"))
- try {
- mgdl = settings.getBoolean("LocalProfile" + "mgdl", false);
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else mgdl = false;
- if (settings.contains("LocalProfile" + "mmol"))
- try {
- mmol = settings.getBoolean("LocalProfile" + "mmol", true);
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else mmol = true;
- if (settings.contains("LocalProfile" + "dia"))
- try {
- dia = SafeParse.stringToDouble(settings.getString("LocalProfile" + "dia", "3"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else dia = 3d;
- if (settings.contains("LocalProfile" + "ic"))
- try {
- ic = new JSONArray(settings.getString("LocalProfile" + "ic", DEFAULTARRAY));
- } catch (Exception e) {
- log.debug(e.getMessage());
- try {
- ic = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e1) {
- e1.printStackTrace();
- }
- }
- else {
+ mgdl = SP.getBoolean("LocalProfile" + "mgdl", false);
+ mmol = SP.getBoolean("LocalProfile" + "mmol", true);
+ dia = SP.getDouble("LocalProfile" + "dia", Constants.defaultDIA);
+ try {
+ ic = new JSONArray(SP.getString("LocalProfile" + "ic", DEFAULTARRAY));
+ } catch (JSONException e1) {
try {
ic = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e) {
- e.printStackTrace();
+ } catch (JSONException e2) {
}
}
- if (settings.contains("LocalProfile" + "isf"))
- try {
- isf = new JSONArray(settings.getString("LocalProfile" + "isf", DEFAULTARRAY));
- } catch (Exception e) {
- log.debug(e.getMessage());
- try {
- isf = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e1) {
- e1.printStackTrace();
- }
- }
- else {
+ try {
+ isf = new JSONArray(SP.getString("LocalProfile" + "isf", DEFAULTARRAY));
+ } catch (JSONException e1) {
try {
isf = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e) {
- e.printStackTrace();
+ } catch (JSONException e2) {
}
}
- if (settings.contains("LocalProfile" + "basal"))
- try {
- basal = new JSONArray(settings.getString("LocalProfile" + "basal", DEFAULTARRAY));
- } catch (Exception e) {
- log.debug(e.getMessage());
- try {
- basal = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e1) {
- e1.printStackTrace();
- }
- }
- else {
+ try {
+ basal = new JSONArray(SP.getString("LocalProfile" + "basal", DEFAULTARRAY));
+ } catch (JSONException e1) {
try {
basal = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e) {
- e.printStackTrace();
+ } catch (JSONException e2) {
}
}
- if (settings.contains("LocalProfile" + "targetlow"))
- try {
- targetLow = new JSONArray(settings.getString("LocalProfile" + "targetlow", DEFAULTARRAY));
- } catch (Exception e) {
- log.debug(e.getMessage());
- try {
- targetLow = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e1) {
- e1.printStackTrace();
- }
- }
- else {
+ try {
+ targetLow = new JSONArray(SP.getString("LocalProfile" + "targetlow", DEFAULTARRAY));
+ } catch (JSONException e1) {
try {
targetLow = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e) {
- e.printStackTrace();
+ } catch (JSONException e2) {
}
}
- if (settings.contains("LocalProfile" + "targethigh"))
- try {
- targetHigh = new JSONArray(settings.getString("LocalProfile" + "targethigh", DEFAULTARRAY));
- } catch (Exception e) {
- log.debug(e.getMessage());
- try {
- targetHigh = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e1) {
- e1.printStackTrace();
- }
- }
- else {
+ try {
+ targetHigh = new JSONArray(SP.getString("LocalProfile" + "targethigh", DEFAULTARRAY));
+ } catch (JSONException e1) {
try {
targetHigh = new JSONArray(DEFAULTARRAY);
- } catch (JSONException e) {
- e.printStackTrace();
+ } catch (JSONException e2) {
}
}
createConvertedProfile();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/NSProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/NSProfileFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java
index da54fcb27c..028ef1ac45 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/NSProfileFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfileFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.NSProfile;
+package info.nightscout.androidaps.plugins.ProfileNS;
import android.app.Activity;
import android.os.Bundle;
@@ -12,11 +12,10 @@ import com.squareup.otto.Subscribe;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-import info.nightscout.androidaps.plugins.NSProfile.events.EventNSProfileUpdateGUI;
+import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI;
import info.nightscout.utils.DecimalFormatter;
-public class NSProfileFragment extends Fragment implements FragmentBase {
+public class NSProfileFragment extends Fragment {
private static NSProfilePlugin nsProfilePlugin = new NSProfilePlugin();
public static NSProfilePlugin getPlugin() {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/NSProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java
similarity index 89%
rename from app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/NSProfilePlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java
index 5f5ed9ca1d..5f29881b2a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/NSProfilePlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/NSProfilePlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.NSProfile;
+package info.nightscout.androidaps.plugins.ProfileNS;
import android.content.Intent;
import android.content.SharedPreferences;
@@ -19,8 +19,9 @@ import info.nightscout.androidaps.Services.Intents;
import info.nightscout.androidaps.events.EventNewBasalProfile;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
-import info.nightscout.androidaps.plugins.NSProfile.events.EventNSProfileUpdateGUI;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.androidaps.plugins.ProfileNS.events.EventNSProfileUpdateGUI;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -75,6 +76,16 @@ public class NSProfilePlugin implements PluginBase, ProfileInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PROFILE) this.fragmentEnabled = fragmentEnabled;
@@ -110,9 +121,8 @@ public class NSProfilePlugin implements PluginBase, ProfileInterface {
private void loadNSProfile() {
if (Config.logPrefsChange)
log.debug("Loading stored profile");
- SharedPreferences store = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- String activeProfile = store.getString("activeProfile", null);
- String profileString = store.getString("profile", null);
+ String activeProfile = SP.getString("activeProfile", null);
+ String profileString = SP.getString("profile", null);
if (profileString != null) {
if (Config.logPrefsChange) {
log.debug("Loaded profile: " + profileString);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/events/EventNSProfileUpdateGUI.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/events/EventNSProfileUpdateGUI.java
similarity index 57%
rename from app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/events/EventNSProfileUpdateGUI.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/events/EventNSProfileUpdateGUI.java
index df7fe40879..7bb5df792f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/NSProfile/events/EventNSProfileUpdateGUI.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileNS/events/EventNSProfileUpdateGUI.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.NSProfile.events;
+package info.nightscout.androidaps.plugins.ProfileNS.events;
/**
* Created by mike on 05.08.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SimpleProfile/SimpleProfileFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/SimpleProfile/SimpleProfileFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java
index 4a31333ad9..b183b28a0b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SimpleProfile/SimpleProfileFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfileFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.SimpleProfile;
+package info.nightscout.androidaps.plugins.ProfileSimple;
import android.app.Activity;
@@ -11,30 +11,22 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
-import android.widget.LinearLayout;
import android.widget.RadioButton;
import com.squareup.otto.Subscribe;
-import org.json.JSONArray;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.text.DecimalFormat;
-
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventInitializationChanged;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.Careportal.Dialogs.NewNSTreatmentDialog;
import info.nightscout.androidaps.plugins.Careportal.OptionsToShow;
-import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
-import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SafeParse;
-import info.nightscout.utils.TimeListEdit;
-public class SimpleProfileFragment extends Fragment implements FragmentBase {
+public class SimpleProfileFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(SimpleProfileFragment.class);
private static SimpleProfilePlugin simpleProfilePlugin = new SimpleProfilePlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SimpleProfile/SimpleProfilePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java
similarity index 68%
rename from app/src/main/java/info/nightscout/androidaps/plugins/SimpleProfile/SimpleProfilePlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java
index 3264696feb..aac4a05798 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SimpleProfile/SimpleProfilePlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/ProfileSimple/SimpleProfilePlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.SimpleProfile;
+package info.nightscout.androidaps.plugins.ProfileSimple;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
@@ -15,8 +15,8 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -24,7 +24,7 @@ import info.nightscout.utils.SafeParse;
public class SimpleProfilePlugin implements PluginBase, ProfileInterface {
private static Logger log = LoggerFactory.getLogger(SimpleProfilePlugin.class);
- private static boolean fragmentEnabled = true;
+ private static boolean fragmentEnabled = false;
private static boolean fragmentVisible = true;
private static NSProfile convertedProfile = null;
@@ -60,7 +60,7 @@ public class SimpleProfilePlugin implements PluginBase, ProfileInterface {
@Override
public String getNameShort() {
String name = MainApp.sResources.getString(R.string.simpleprofile_shortname);
- if (!name.trim().isEmpty()){
+ if (!name.trim().isEmpty()) {
//only if translation exists
return name;
}
@@ -83,6 +83,16 @@ public class SimpleProfilePlugin implements PluginBase, ProfileInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PROFILE) this.fragmentEnabled = fragmentEnabled;
@@ -114,64 +124,15 @@ public class SimpleProfilePlugin implements PluginBase, ProfileInterface {
private void loadSettings() {
if (Config.logPrefsChange)
log.debug("Loading stored settings");
- SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- if (settings.contains("SimpleProfile" + "mgdl"))
- try {
- mgdl = settings.getBoolean("SimpleProfile" + "mgdl", true);
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else mgdl = true;
- if (settings.contains("SimpleProfile" + "mmol"))
- try {
- mmol = settings.getBoolean("SimpleProfile" + "mmol", false);
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else mmol = false;
- if (settings.contains("SimpleProfile" + "dia"))
- try {
- dia = SafeParse.stringToDouble(settings.getString("SimpleProfile" + "dia", "3"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else dia = 3d;
- if (settings.contains("SimpleProfile" + "ic"))
- try {
- ic = SafeParse.stringToDouble(settings.getString("SimpleProfile" + "ic", "20"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else ic = 20d;
- if (settings.contains("SimpleProfile" + "isf"))
- try {
- isf = SafeParse.stringToDouble(settings.getString("SimpleProfile" + "isf", "200"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else isf = 200d;
- if (settings.contains("SimpleProfile" + "basal"))
- try {
- basal = SafeParse.stringToDouble(settings.getString("SimpleProfile" + "basal", "1"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else basal = 1d;
- if (settings.contains("SimpleProfile" + "targetlow"))
- try {
- targetLow = SafeParse.stringToDouble(settings.getString("SimpleProfile" + "targetlow", "80"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else targetLow = 80d;
- if (settings.contains("SimpleProfile" + "targethigh"))
- try {
- targetHigh = SafeParse.stringToDouble(settings.getString("SimpleProfile" + "targethigh", "120"));
- } catch (Exception e) {
- log.debug(e.getMessage());
- }
- else targetHigh = 120d;
+ mgdl = SP.getBoolean("SimpleProfile" + "mgdl", true);
+ mmol = SP.getBoolean("SimpleProfile" + "mmol", false);
+ dia = SP.getDouble("SimpleProfile" + "dia", Constants.defaultDIA);
+ ic = SP.getDouble("SimpleProfile" + "ic", 20d);
+ isf = SP.getDouble("SimpleProfile" + "isf", 200d);
+ basal = SP.getDouble("SimpleProfile" + "basal", 1d);
+ targetLow = SP.getDouble("SimpleProfile" + "targetlow", 80d);
+ targetHigh = SP.getDouble("SimpleProfile" + "targethigh", 120d);
createConvertedProfile();
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/BluetoothDevicePreference.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/BluetoothDevicePreference.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/BluetoothDevicePreference.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/BluetoothDevicePreference.java
index ba7ec5f533..63e14f0921 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/BluetoothDevicePreference.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/BluetoothDevicePreference.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR;
+package info.nightscout.androidaps.plugins.PumpDanaR;
import android.bluetooth.*;
import android.content.Context;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java
similarity index 89%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java
index 7c59790e35..4aed68baec 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR;
+package info.nightscout.androidaps.plugins.PumpDanaR;
import android.annotation.SuppressLint;
@@ -24,25 +24,23 @@ import java.util.Date;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-import info.nightscout.androidaps.plugins.DanaR.Dialogs.ProfileViewDialog;
-import info.nightscout.androidaps.plugins.DanaR.History.DanaRHistoryActivity;
-import info.nightscout.androidaps.plugins.DanaR.History.DanaRStatsActivity;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus;
+import info.nightscout.androidaps.plugins.PumpDanaR.Dialogs.ProfileViewDialog;
+import info.nightscout.androidaps.plugins.PumpDanaR.History.DanaRHistoryActivity;
+import info.nightscout.androidaps.plugins.PumpDanaR.History.DanaRStatsActivity;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRNewStatus;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SetWarnColor;
-public class DanaRFragment extends Fragment implements FragmentBase {
+public class DanaRFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(DanaRFragment.class);
private static DanaRPlugin danaRPlugin;
public static DanaRPlugin getPlugin() {
- if(danaRPlugin==null){
+ if (danaRPlugin == null) {
danaRPlugin = new DanaRPlugin();
}
return danaRPlugin;
@@ -166,18 +164,18 @@ public class DanaRFragment extends Fragment implements FragmentBase {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventPumpStatusChanged c) {
Activity activity = getActivity();
if (activity != null) {
activity.runOnUiThread(
new Runnable() {
@Override
public void run() {
- if (c.sStatus == EventDanaRConnectionStatus.CONNECTING)
+ if (c.sStatus == EventPumpStatusChanged.CONNECTING)
btConnectionView.setText("{fa-bluetooth-b spin} " + c.sSecondsElapsed + "s");
- else if (c.sStatus == EventDanaRConnectionStatus.CONNECTED)
+ else if (c.sStatus == EventPumpStatusChanged.CONNECTED)
btConnectionView.setText("{fa-bluetooth}");
- else
+ else if (c.sStatus == EventPumpStatusChanged.DISCONNECTED)
btConnectionView.setText("{fa-bluetooth-b}");
}
}
@@ -195,11 +193,6 @@ public class DanaRFragment extends Fragment implements FragmentBase {
updateGUI();
}
- @Subscribe
- public void onStatusEvent(final EventPreferenceChange s) {
- updateGUI();
- }
-
// GUI functions
private void updateGUI() {
Activity activity = getActivity();
@@ -217,7 +210,7 @@ public class DanaRFragment extends Fragment implements FragmentBase {
}
if (pump.lastBolusTime.getTime() != 0) {
Long agoMsec = new Date().getTime() - pump.lastBolusTime.getTime();
- double agoHours = agoMsec / 60d / 60d / 1000d;
+ double agoHours = agoMsec / 60d / 60d / 1000d;
if (agoHours < 6) // max 6h back
lastBolusView.setText(DateUtil.timeString(pump.lastBolusTime) + " (" + DecimalFormatter.to1Decimal(agoHours) + " " + MainApp.sResources.getString(R.string.hoursago) + ") " + DecimalFormatter.to2Decimal(getPlugin().getDanaRPump().lastBolusAmount) + " U");
else lastBolusView.setText("");
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java
similarity index 97%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java
index 7889471d6b..dd3fb86837 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR;
+package info.nightscout.androidaps.plugins.PumpDanaR;
import android.content.ComponentName;
import android.content.Context;
@@ -30,17 +30,18 @@ import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventPreferenceChange;
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.Services.ExecutionService;
-import info.nightscout.androidaps.plugins.NSProfile.NSProfilePlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.Round;
@@ -56,8 +57,8 @@ public class DanaRPlugin implements PluginBase, PumpInterface, ConstraintsInterf
return DanaRFragment.class.getName();
}
- static boolean fragmentPumpEnabled = true;
- static boolean fragmentProfileEnabled = true;
+ static boolean fragmentPumpEnabled = false;
+ static boolean fragmentProfileEnabled = false;
static boolean fragmentPumpVisible = true;
public static ExecutionService sExecutionService;
@@ -185,6 +186,16 @@ public class DanaRPlugin implements PluginBase, PumpInterface, ConstraintsInterf
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return type == PUMP;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PluginBase.PROFILE)
@@ -276,6 +287,7 @@ public class DanaRPlugin implements PluginBase, PumpInterface, ConstraintsInterf
for (int h = 0; h < basalValues; h++) {
Double pumpValue = pump.pumpProfiles[pump.activeProfile][h];
Double profileValue = profile.getBasal(h * basalIncrement);
+ if (profileValue == null) return true;
if (Math.abs(pumpValue - profileValue) > getPumpDescription().basalStep) {
log.debug("Diff found. Hour: " + h + " Pump: " + pumpValue + " Profile: " + profileValue);
return false;
@@ -285,12 +297,12 @@ public class DanaRPlugin implements PluginBase, PumpInterface, ConstraintsInterf
}
@Override
- public Date lastStatusTime() {
+ public Date lastDataTime() {
return getDanaRPump().lastConnection;
}
@Override
- public void updateStatus(String reason) {
+ public void refreshDataFromPump(String reason) {
if (!isConnected() && !isConnecting()) {
doConnect(reason);
}
@@ -356,11 +368,11 @@ public class DanaRPlugin implements PluginBase, PumpInterface, ConstraintsInterf
}
@Override
- public PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context) {
+ public PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context) {
ConfigBuilderPlugin configBuilderPlugin = MainApp.getConfigBuilder();
insulin = configBuilderPlugin.applyBolusConstraints(insulin);
if (insulin > 0 || carbs > 0) {
- Treatment t = new Treatment();
+ Treatment t = new Treatment(insulinType);
boolean connectionOK = false;
if (insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(insulin, carbs, t);
PumpEnactResult result = new PumpEnactResult();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java
index 1e9808becd..0714e2eeee 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/DanaRPump.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/DanaRPump.java
@@ -1,7 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR;
-
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
+package info.nightscout.androidaps.plugins.PumpDanaR;
import org.json.JSONArray;
import org.json.JSONException;
@@ -11,9 +8,9 @@ import java.text.DecimalFormat;
import java.util.Date;
import info.nightscout.androidaps.Constants;
-import info.nightscout.androidaps.MainApp;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
/**
* Created by mike on 04.07.2016.
@@ -122,8 +119,7 @@ public class DanaRPump {
// Evening / 17:00–21:59
// Night / 22:00–5:59
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- double dia = SafeParse.stringToDouble(SP.getString("danarprofile_dia", "3"));
+ double dia = SP.getDouble(R.string.key_danarprofile_dia, Constants.defaultDIA);
try {
json.put("defaultProfile", PROFILE_PREFIX + (activeProfile + 1));
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Dialogs/ProfileViewDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Dialogs/ProfileViewDialog.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java
index 3cb21f4221..8907a230d2 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Dialogs/ProfileViewDialog.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Dialogs/ProfileViewDialog.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.Dialogs;
+package info.nightscout.androidaps.plugins.PumpDanaR.Dialogs;
import android.os.Bundle;
import android.os.Handler;
@@ -15,12 +15,10 @@ import org.slf4j.LoggerFactory;
import java.util.Date;
-import info.nightscout.androidaps.MainActivity;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.DanaRFragment;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DecimalFormatter;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRHistoryActivity.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRHistoryActivity.java
index 4056943e70..bc925c27bd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRHistoryActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRHistoryActivity.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.History;
+package info.nightscout.androidaps.plugins.PumpDanaR.History;
import android.app.Activity;
import android.content.ComponentName;
@@ -32,19 +32,18 @@ import org.slf4j.LoggerFactory;
import java.sql.SQLException;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.DanaRHistoryRecord;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.Services.ExecutionService;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.ToastUtils;
@@ -307,7 +306,7 @@ public class DanaRHistoryActivity extends Activity {
case RecordTypes.RECORD_TYPE_DAILY:
holder.dailybasal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBasal()) + "U");
holder.dailybolus.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()) + "U");
- holder.dailytotal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()+ record.getRecordDailyBasal()) + "U");
+ holder.dailytotal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus() + record.getRecordDailyBasal()) + "U");
holder.time.setText(DateUtil.dateString(record.getRecordDate()));
holder.time.setVisibility(View.VISIBLE);
holder.value.setVisibility(View.GONE);
@@ -435,21 +434,12 @@ public class DanaRHistoryActivity extends Activity {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventPumpStatusChanged s) {
runOnUiThread(
new Runnable() {
@Override
public void run() {
- if (c.sStatus == EventDanaRConnectionStatus.CONNECTING) {
- statusView.setText(String.format(getString(R.string.danar_history_connectingfor), c.sSecondsElapsed));
- log.debug("EventDanaRConnectionStatus: " + "Connecting for " + c.sSecondsElapsed + "s");
- } else if (c.sStatus == EventDanaRConnectionStatus.CONNECTED) {
- statusView.setText(MainApp.sResources.getString(R.string.connected));
- log.debug("EventDanaRConnectionStatus: Connected");
- } else {
- statusView.setText(MainApp.sResources.getString(R.string.disconnected));
- log.debug("EventDanaRConnectionStatus: Disconnected");
- }
+ statusView.setText(s.textStatus());
}
}
);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRNSHistorySync.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRNSHistorySync.java
similarity index 98%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRNSHistorySync.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRNSHistorySync.java
index 327465eba2..4c1e2e1f05 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRNSHistorySync.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRNSHistorySync.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.History;
+package info.nightscout.androidaps.plugins.PumpDanaR.History;
import org.json.JSONException;
import org.json.JSONObject;
@@ -12,9 +12,9 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.DanaRHistoryRecord;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.ToastUtils;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRStatsActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRStatsActivity.java
similarity index 83%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRStatsActivity.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRStatsActivity.java
index 674213d66f..883330dd5b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/History/DanaRStatsActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/History/DanaRStatsActivity.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.History;
+package info.nightscout.androidaps.plugins.PumpDanaR.History;
import android.app.Activity;
import android.content.ComponentName;
@@ -48,13 +48,13 @@ import java.util.List;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.DanaRHistoryRecord;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.ProfileInterface;
-import info.nightscout.androidaps.plugins.CircadianPercentageProfile.CircadianPercentageProfilePlugin;
+import info.nightscout.androidaps.plugins.ProfileCircadianPercentage.CircadianPercentageProfilePlugin;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.Services.ExecutionService;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus;
+import info.nightscout.androidaps.plugins.PumpDanaR.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
@@ -68,11 +68,11 @@ public class DanaRStatsActivity extends Activity {
private Handler mHandler;
private static HandlerThread mHandlerThread;
- TextView statusView, statsMessage,totalBaseBasal2;
+ TextView statusView, statsMessage, totalBaseBasal2;
EditText totalBaseBasal;
Button reloadButton;
LinearLayoutManager llm;
- TableLayout tl,ctl,etl;
+ TableLayout tl, ctl, etl;
String TBB;
double magicNumber;
DecimalFormat decimalFormat;
@@ -118,15 +118,15 @@ public class DanaRStatsActivity extends Activity {
public boolean dispatchTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
View myView = getCurrentFocus();
- if ( myView instanceof EditText) {
+ if (myView instanceof EditText) {
Rect rect = new Rect();
myView.getGlobalVisibleRect(rect);
- if (!rect.contains((int)event.getRawX(), (int)event.getRawY())) {
+ if (!rect.contains((int) event.getRawX(), (int) event.getRawY())) {
myView.clearFocus();
}
}
}
- return super.dispatchTouchEvent( event );
+ return super.dispatchTouchEvent(event);
}
ServiceConnection mConnection = new ServiceConnection() {
@@ -172,11 +172,11 @@ public class DanaRStatsActivity extends Activity {
totalBaseBasal.setText(TBB);
ProfileInterface pi = ConfigBuilderPlugin.getActiveProfile();
- if (pi != null && pi instanceof CircadianPercentageProfilePlugin){
- double cppTBB = ((CircadianPercentageProfilePlugin)pi).baseBasalSum();
+ if (pi != null && pi instanceof CircadianPercentageProfilePlugin) {
+ double cppTBB = ((CircadianPercentageProfilePlugin) pi).baseBasalSum();
totalBaseBasal.setText(decimalFormat.format(cppTBB));
SharedPreferences.Editor edit = preferences.edit();
- edit.putString("TBB",totalBaseBasal.getText().toString());
+ edit.putString("TBB", totalBaseBasal.getText().toString());
edit.commit();
TBB = preferences.getString("TBB", "");
}
@@ -312,7 +312,7 @@ public class DanaRStatsActivity extends Activity {
totalBaseBasal.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if(actionId== EditorInfo.IME_ACTION_DONE){
+ if (actionId == EditorInfo.IME_ACTION_DONE) {
totalBaseBasal.clearFocus();
return true;
}
@@ -323,11 +323,11 @@ public class DanaRStatsActivity extends Activity {
totalBaseBasal.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
- if(hasFocus){
+ if (hasFocus) {
totalBaseBasal.getText().clear();
} else {
SharedPreferences.Editor edit = preferences.edit();
- edit.putString("TBB",totalBaseBasal.getText().toString());
+ edit.putString("TBB", totalBaseBasal.getText().toString());
edit.commit();
TBB = preferences.getString("TBB", "");
loadDataFromDB(RecordTypes.RECORD_TYPE_DAILY);
@@ -362,15 +362,14 @@ public class DanaRStatsActivity extends Activity {
cleanTable(etl);
DateFormat df = new SimpleDateFormat("dd.MM.");
- if(TextUtils.isEmpty(TBB)) {
+ if (TextUtils.isEmpty(TBB)) {
totalBaseBasal.setError("Please Enter Total Base Basal");
return;
- }
- else {
+ } else {
magicNumber = SafeParse.stringToDouble(TBB);
}
- magicNumber *=2;
+ magicNumber *= 2;
totalBaseBasal2.setText(decimalFormat.format(magicNumber));
int i = 0;
@@ -379,45 +378,45 @@ public class DanaRStatsActivity extends Activity {
double weighted05 = 0d;
double weighted07 = 0d;
- for (DanaRHistoryRecord record: historyList) {
- double tdd= record.getRecordDailyBolus() + record.getRecordDailyBasal();
+ for (DanaRHistoryRecord record : historyList) {
+ double tdd = record.getRecordDailyBolus() + record.getRecordDailyBasal();
// Create the table row
TableRow tr = new TableRow(DanaRStatsActivity.this);
- if(i%2!=0) tr.setBackgroundColor(Color.DKGRAY);
- tr.setId(100+i);
+ if (i % 2 != 0) tr.setBackgroundColor(Color.DKGRAY);
+ tr.setId(100 + i);
tr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
// Here create the TextView dynamically
TextView labelDATE = new TextView(DanaRStatsActivity.this);
- labelDATE.setId(200+i);
+ labelDATE.setId(200 + i);
labelDATE.setText(df.format(new Date(record.getRecordDate())));
labelDATE.setTextColor(Color.WHITE);
tr.addView(labelDATE);
TextView labelBASAL = new TextView(DanaRStatsActivity.this);
- labelBASAL.setId(300+i);
+ labelBASAL.setId(300 + i);
labelBASAL.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBasal()) + " U");
labelBASAL.setTextColor(Color.WHITE);
tr.addView(labelBASAL);
TextView labelBOLUS = new TextView(DanaRStatsActivity.this);
- labelBOLUS.setId(400+i);
+ labelBOLUS.setId(400 + i);
labelBOLUS.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()) + " U");
labelBOLUS.setTextColor(Color.WHITE);
tr.addView(labelBOLUS);
TextView labelTDD = new TextView(DanaRStatsActivity.this);
- labelTDD.setId(500+i);
+ labelTDD.setId(500 + i);
labelTDD.setText(DecimalFormatter.to2Decimal(tdd) + " U");
labelTDD.setTextColor(Color.WHITE);
tr.addView(labelTDD);
TextView labelRATIO = new TextView(DanaRStatsActivity.this);
- labelRATIO.setId(600+i);
- labelRATIO.setText(Math.round(100*tdd/magicNumber) +" %");
+ labelRATIO.setId(600 + i);
+ labelRATIO.setText(Math.round(100 * tdd / magicNumber) + " %");
labelRATIO.setTextColor(Color.WHITE);
tr.addView(labelRATIO);
@@ -431,28 +430,28 @@ public class DanaRStatsActivity extends Activity {
// Create the cumtable row
TableRow ctr = new TableRow(DanaRStatsActivity.this);
- if(i%2==0) ctr.setBackgroundColor(Color.DKGRAY);
- ctr.setId(700+i);
+ if (i % 2 == 0) ctr.setBackgroundColor(Color.DKGRAY);
+ ctr.setId(700 + i);
ctr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
// Here create the TextView dynamically
TextView labelDAYS = new TextView(DanaRStatsActivity.this);
- labelDAYS.setId(800+i);
+ labelDAYS.setId(800 + i);
labelDAYS.setText("" + i);
labelDAYS.setTextColor(Color.WHITE);
ctr.addView(labelDAYS);
TextView labelCUMTDD = new TextView(DanaRStatsActivity.this);
- labelCUMTDD.setId(900+i);
- labelCUMTDD.setText(DecimalFormatter.to2Decimal(sum/i) + " U");
+ labelCUMTDD.setId(900 + i);
+ labelCUMTDD.setText(DecimalFormatter.to2Decimal(sum / i) + " U");
labelCUMTDD.setTextColor(Color.WHITE);
ctr.addView(labelCUMTDD);
TextView labelCUMRATIO = new TextView(DanaRStatsActivity.this);
- labelCUMRATIO.setId(1000+i);
- labelCUMRATIO.setText(Math.round(100*sum/i/magicNumber) + " %");
+ labelCUMRATIO.setId(1000 + i);
+ labelCUMRATIO.setText(Math.round(100 * sum / i / magicNumber) + " %");
labelCUMRATIO.setTextColor(Color.WHITE);
ctr.addView(labelCUMRATIO);
@@ -462,7 +461,7 @@ public class DanaRStatsActivity extends Activity {
TableLayout.LayoutParams.WRAP_CONTENT));
}
- if (historyList.size()<3 || !(df.format(new Date(historyList.get(0).getRecordDate())).equals(df.format(new Date(System.currentTimeMillis() - 1000*60*60*24))))){
+ if (historyList.size() < 3 || !(df.format(new Date(historyList.get(0).getRecordDate())).equals(df.format(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24))))) {
statsMessage.setVisibility(View.VISIBLE);
statsMessage.setText(getString(R.string.danar_stats_olddata_Message));
@@ -474,38 +473,38 @@ public class DanaRStatsActivity extends Activity {
i = 0;
- for (DanaRHistoryRecord record: historyList) {
- double tdd= record.getRecordDailyBolus() + record.getRecordDailyBasal();
- if(i == 0 ) {
+ for (DanaRHistoryRecord record : historyList) {
+ double tdd = record.getRecordDailyBolus() + record.getRecordDailyBasal();
+ if (i == 0) {
weighted03 = tdd;
weighted05 = tdd;
weighted07 = tdd;
} else {
- weighted07 = (weighted07*0.3 + tdd*0.7);
- weighted05 = (weighted05*0.5 + tdd*0.5);
- weighted03 = (weighted03*0.7 + tdd*0.3);
+ weighted07 = (weighted07 * 0.3 + tdd * 0.7);
+ weighted05 = (weighted05 * 0.5 + tdd * 0.5);
+ weighted03 = (weighted03 * 0.7 + tdd * 0.3);
}
i++;
}
// Create the exptable row
TableRow etr = new TableRow(DanaRStatsActivity.this);
- if(i%2!=0) etr.setBackgroundColor(Color.DKGRAY);
- etr.setId(1100+i);
+ if (i % 2 != 0) etr.setBackgroundColor(Color.DKGRAY);
+ etr.setId(1100 + i);
etr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
// Here create the TextView dynamically
TextView labelWEIGHT = new TextView(DanaRStatsActivity.this);
- labelWEIGHT.setId(1200+i);
+ labelWEIGHT.setId(1200 + i);
labelWEIGHT.setText("0.3\n" + "0.5\n" + "0.7");
labelWEIGHT.setTextColor(Color.WHITE);
etr.addView(labelWEIGHT);
TextView labelEXPTDD = new TextView(DanaRStatsActivity.this);
- labelEXPTDD.setId(1300+i);
+ labelEXPTDD.setId(1300 + i);
labelEXPTDD.setText(DecimalFormatter.to2Decimal(weighted03)
+ " U\n" + DecimalFormatter.to2Decimal(weighted05)
+ " U\n" + DecimalFormatter.to2Decimal(weighted07) + " U");
@@ -513,10 +512,10 @@ public class DanaRStatsActivity extends Activity {
etr.addView(labelEXPTDD);
TextView labelEXPRATIO = new TextView(DanaRStatsActivity.this);
- labelEXPRATIO.setId(1400+i);
- labelEXPRATIO.setText(Math.round(100*weighted03/magicNumber) +" %\n"
- + Math.round(100*weighted05/magicNumber) +" %\n"
- + Math.round(100*weighted07/magicNumber) +" %");
+ labelEXPRATIO.setId(1400 + i);
+ labelEXPRATIO.setText(Math.round(100 * weighted03 / magicNumber) + " %\n"
+ + Math.round(100 * weighted05 / magicNumber) + " %\n"
+ + Math.round(100 * weighted07 / magicNumber) + " %");
labelEXPRATIO.setTextColor(Color.WHITE);
etr.addView(labelEXPRATIO);
@@ -549,21 +548,12 @@ public class DanaRStatsActivity extends Activity {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventPumpStatusChanged c) {
runOnUiThread(
new Runnable() {
@Override
public void run() {
- if (c.sStatus == EventDanaRConnectionStatus.CONNECTING) {
- statusView.setText(String.format(getString(R.string.danar_history_connectingfor), c.sSecondsElapsed));
- log.debug("EventDanaRConnectionStatus: " + "Connecting for " + c.sSecondsElapsed + "s");
- } else if (c.sStatus == EventDanaRConnectionStatus.CONNECTED) {
- statusView.setText(MainApp.sResources.getString(R.string.connected));
- log.debug("EventDanaRConnectionStatus: Connected");
- } else {
- statusView.setText(MainApp.sResources.getString(R.string.disconnected));
- log.debug("EventDanaRConnectionStatus: Disconnected");
- }
+ statusView.setText(c.textStatus());
}
}
);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java
similarity index 97%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java
index 9521c00fcc..feb5a59b69 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/SerialIOThread.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/SerialIOThread.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR;
+package info.nightscout.androidaps.plugins.PumpDanaR;
import android.bluetooth.BluetoothSocket;
@@ -14,8 +14,8 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageHashTable;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageHashTable;
import info.nightscout.utils.CRC;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Services/ExecutionService.java
similarity index 74%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Services/ExecutionService.java
index e7ecb4c742..54aae17687 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/Services/ExecutionService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/Services/ExecutionService.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.Services;
+package info.nightscout.androidaps.plugins.PumpDanaR.Services;
import android.app.Service;
import android.bluetooth.BluetoothAdapter;
@@ -8,11 +8,9 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.SharedPreferences;
import android.os.Binder;
import android.os.IBinder;
import android.os.PowerManager;
-import android.preference.PreferenceManager;
import com.squareup.otto.Subscribe;
@@ -33,63 +31,61 @@ import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PluginBase;
-import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
-import info.nightscout.androidaps.plugins.DanaR.SerialIOThread;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusProgress;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgCheckValue;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryAlarm;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryBasalHour;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryBolus;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryCarbo;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryDailyInsulin;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryDone;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryError;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryGlucose;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryRefill;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistorySuspend;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgPCCommStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgPCCommStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetActivateBasalProfile;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetBasalProfile;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetCarbsEntry;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetExtendedBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetExtendedBolusStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTempBasalStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTempBasalStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTime;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingActiveProfile;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingBasal;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingMeal;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingGlucose;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingMaxValues;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingProfileRatios;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingProfileRatiosAll;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingPumpTime;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSettingShippingInfo;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgStatus;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgStatusBasic;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgStatusBolusExtended;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgStatusTempBasal;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.SerialIOThread;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusProgress;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgCheckValue;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryAlarm;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryBasalHour;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryBolus;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryCarbo;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryDailyInsulin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryDone;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryError;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryGlucose;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryRefill;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistorySuspend;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgPCCommStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgPCCommStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetActivateBasalProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetBasalProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetCarbsEntry;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetExtendedBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetExtendedBolusStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTempBasalStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTempBasalStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTime;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingActiveProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingBasal;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingMeal;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingGlucose;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingMaxValues;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingProfileRatios;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingProfileRatiosAll;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingPumpTime;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSettingShippingInfo;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgStatus;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgStatusBasic;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgStatusBolusExtended;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgStatusTempBasal;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRNewStatus;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
import info.nightscout.utils.ToastUtils;
public class ExecutionService extends Service {
private static Logger log = LoggerFactory.getLogger(ExecutionService.class);
- private SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
private String devName;
private SerialIOThread mSerialIOThread;
@@ -114,11 +110,11 @@ public class ExecutionService extends Service {
String action = intent.getAction();
if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) {
log.debug("Device has disconnected " + device.getName());//Device has disconnected
- if (mBTDevice != null && mBTDevice.getName().equals(device.getName())) {
+ if (mBTDevice != null && mBTDevice.getName() != null && mBTDevice.getName().equals(device.getName())) {
if (mSerialIOThread != null) {
mSerialIOThread.disconnect("BT disconnection broadcast");
}
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.DISCONNECTED, 0));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED));
}
}
}
@@ -188,7 +184,7 @@ public class ExecutionService extends Service {
}
public void connect(String from) {
- if (danaRPump.password != -1 && danaRPump.password != SafeParse.stringToInt(SP.getString("danar_password", "-1"))) {
+ if (danaRPump.password != -1 && danaRPump.password != SP.getInt(R.string.key_danar_password, -1)) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.wrongpumppassword), R.raw.error);
return;
}
@@ -208,7 +204,7 @@ public class ExecutionService extends Service {
long startTime = new Date().getTime();
while (!isConnected() && startTime + maxConnectionTime >= new Date().getTime()) {
long secondsElapsed = (new Date().getTime() - startTime) / 1000L;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.CONNECTING, (int) secondsElapsed));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTING, (int) secondsElapsed));
if (Config.logDanaBTComm)
log.debug("connect waiting " + secondsElapsed + "sec from: " + from);
try {
@@ -227,18 +223,19 @@ public class ExecutionService extends Service {
mSerialIOThread.disconnect("Recreate SerialIOThread");
}
mSerialIOThread = new SerialIOThread(mRfcommSocket);
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.CONNECTED, 0));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTED, 0));
if (!getPumpStatus()) {
mSerialIOThread.disconnect("getPumpStatus failed");
waitMsec(3000);
if (!MainApp.getSpecificPlugin(DanaRPlugin.class).isEnabled(PluginBase.PUMP))
return;
getBTSocketForSelectedPump();
+ startTime = new Date().getTime();
}
}
}
if (!isConnected()) {
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.DISCONNECTED, 0));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED));
log.error("Pump connection timed out");
}
connectionInProgress = false;
@@ -247,7 +244,7 @@ public class ExecutionService extends Service {
}
private void getBTSocketForSelectedPump() {
- devName = SP.getString("danar_bt_name", "");
+ devName = SP.getString(MainApp.sResources.getString(R.string.key_danar_bt_name), "");
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter != null) {
@@ -280,7 +277,7 @@ public class ExecutionService extends Service {
private boolean getPumpStatus() {
try {
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.gettingpumpstatus)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.gettingpumpstatus)));
MsgStatus statusMsg = new MsgStatus();
MsgStatusBasic statusBasicMsg = new MsgStatusBasic();
MsgStatusTempBasal tempStatusMsg = new MsgStatusTempBasal();
@@ -341,7 +338,7 @@ public class ExecutionService extends Service {
danaRPump.lastConnection = now;
MainApp.bus().post(new EventDanaRNewStatus());
MainApp.bus().post(new EventInitializationChanged());
- MainApp.getConfigBuilder().uploadDeviceStatus(60);
+ MainApp.getConfigBuilder().uploadDeviceStatus();
if (danaRPump.dailyTotalUnits > danaRPump.maxDailyTotalUnits * Constants.dailyLimitWarning ) {
log.debug("Approaching daily limit: " + danaRPump.dailyTotalUnits + "/" + danaRPump.maxDailyTotalUnits);
Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.sResources.getString(R.string.approachingdailylimit), Notification.URGENT);
@@ -357,46 +354,46 @@ public class ExecutionService extends Service {
public boolean tempBasal(int percent, int durationInHours) {
connect("tempBasal");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.settingtempbasal)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.settingtempbasal)));
mSerialIOThread.sendMessage(new MsgSetTempBasalStart(percent, durationInHours));
mSerialIOThread.sendMessage(new MsgStatusTempBasal());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean tempBasalStop() {
connect("tempBasalStop");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.stoppingtempbasal)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.stoppingtempbasal)));
mSerialIOThread.sendMessage(new MsgSetTempBasalStop());
mSerialIOThread.sendMessage(new MsgStatusTempBasal());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean extendedBolus(double insulin, int durationInHalfHours) {
connect("extendedBolus");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.settingextendedbolus)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.settingextendedbolus)));
mSerialIOThread.sendMessage(new MsgSetExtendedBolusStart(insulin, (byte) (durationInHalfHours & 0xFF)));
mSerialIOThread.sendMessage(new MsgStatusBolusExtended());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean extendedBolusStop() {
connect("extendedBolusStop");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.stoppingextendedbolus)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.stoppingextendedbolus)));
mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop());
mSerialIOThread.sendMessage(new MsgStatusBolusExtended());
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean bolus(Double amount, int carbs, Treatment t) {
bolusingTreatment = t;
MsgBolusStart start = new MsgBolusStart(amount);
- MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables
MsgBolusStop stop = new MsgBolusStop(amount, t);
connect("bolus");
@@ -406,6 +403,7 @@ public class ExecutionService extends Service {
Calendar time = Calendar.getInstance();
mSerialIOThread.sendMessage(new MsgSetCarbsEntry(time, carbs));
}
+ MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables
MainApp.bus().post(new EventDanaRBolusStart());
if (!stop.stopped) {
@@ -416,7 +414,7 @@ public class ExecutionService extends Service {
}
while (!stop.stopped && !start.failed) {
waitMsec(100);
- if (progress.lastReceive != 0 && (new Date().getTime() - progress.lastReceive) > 5 * 1000L) { // if i didn't receive status for more than 5 sec expecting broken comm
+ if ((new Date().getTime() - progress.lastReceive) > 5 * 1000L) { // if i didn't receive status for more than 5 sec expecting broken comm
stop.stopped = true;
stop.forced = true;
log.debug("Communication stopped");
@@ -501,7 +499,7 @@ public class ExecutionService extends Service {
public boolean updateBasalsInPump(final NSProfile profile) {
connect("updateBasalsInPump");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.updatingbasalrates)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.updatingbasalrates)));
double[] basal = buildDanaRProfileRecord(profile);
MsgSetBasalProfile msgSet = new MsgSetBasalProfile((byte) 0, basal);
mSerialIOThread.sendMessage(msgSet);
@@ -509,7 +507,7 @@ public class ExecutionService extends Service {
mSerialIOThread.sendMessage(msgActivate);
danaRPump.lastSettingsRead = new Date(0); // force read full settings
getPumpStatus();
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageBase.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageBase.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java
index 1d97a02ba1..4045f28f6e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageBase.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageBase.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import android.annotation.TargetApi;
import android.os.Build;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageHashTable.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java
similarity index 98%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageHashTable.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java
index 221f7855e9..debdd8a35f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageHashTable.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageHashTable.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageOriginalNames.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java
similarity index 99%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageOriginalNames.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java
index 5aba354812..1ab166801d 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MessageOriginalNames.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MessageOriginalNames.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusProgress.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusProgress.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java
index aa8a77f7bf..2130561aeb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusProgress.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusProgress.java
@@ -1,6 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
-
-import com.squareup.otto.Bus;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -30,7 +28,7 @@ public class MsgBolusProgress extends MessageBase {
this();
this.amount = amount;
this.t = t;
- lastReceive = 0;
+ lastReceive = new Date().getTime();
}
@Override
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusStart.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java
index bf6af2841b..a5591746b0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusStart.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStart.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import info.nightscout.androidaps.BuildConfig;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
+import info.nightscout.utils.HardLimits;
public class MsgBolusStart extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgBolusStart.class);
@@ -20,7 +20,7 @@ public class MsgBolusStart extends MessageBase {
// HARDCODED LIMIT
amount = MainApp.getConfigBuilder().applyBolusConstraints(amount);
if (amount < 0) amount = 0d;
- if (amount > BuildConfig.MAXBOLUS) amount = BuildConfig.MAXBOLUS;
+ if (amount > HardLimits.maxBolus()) amount = HardLimits.maxBolus();
AddParamInt((int) (amount * 100));
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusStop.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java
index 68de53d50b..0d2c51bf7c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgBolusStop.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgBolusStop.java
@@ -1,6 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
-
-import com.squareup.otto.Bus;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java
similarity index 88%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java
index 5e97e2c55e..f63d49849b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgCheckValue.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgCheckValue.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,8 +6,8 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
import info.nightscout.utils.ToastUtils;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java
similarity index 96%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgError.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java
index c416a8baad..ec52d533dc 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgError.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgError.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAlarm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAlarm.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java
index 1964a58fc9..24ea6d0f37 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAlarm.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAlarm.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java
similarity index 97%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java
index c00f7f6c8e..4ba8bfe143 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAll.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAll.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import com.j256.ormlite.dao.Dao;
@@ -10,7 +10,7 @@ import java.util.Date;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.db.DanaRHistoryRecord;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus;
import info.nightscout.utils.DateUtil;
public class MsgHistoryAll extends MessageBase {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAllDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAllDone.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java
index 1a839f5553..6ce3325715 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryAllDone.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryAllDone.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryBasalHour.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryBasalHour.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java
index dee4de6a39..3fd97135f0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryBasalHour.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBasalHour.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryBolus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java
index 97963955dd..b213ba52fd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryBolus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryBolus.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryCarbo.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryCarbo.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java
index 26fe30c89f..115dc73e02 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryCarbo.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryCarbo.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryDailyInsulin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java
similarity index 86%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryDailyInsulin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java
index 2d0e6969ea..77933c40da 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryDailyInsulin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDailyInsulin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryDone.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java
index b2fdcbeb61..04d3cb3faf 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryDone.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryDone.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryError.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryError.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java
index 85443a271e..3358a88fea 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryError.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryError.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryGlucose.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java
index 903a402810..f07b91e9d8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryGlucose.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryGlucose.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryNew.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryNew.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java
index 0bfe82fd30..5de685f65b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryNew.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNew.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryNewDone.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java
similarity index 91%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryNewDone.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java
index fb5de7515e..2cde92bf9a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryNewDone.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryNewDone.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryRefill.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryRefill.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java
index 6db3e972ff..daaed79023 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistoryRefill.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistoryRefill.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistorySuspend.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistorySuspend.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java
index a7a6c5ee04..db807a31b5 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgHistorySuspend.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgHistorySuspend.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusBasic.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java
index 6303391d4a..2a22fd86d9 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusBasic.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBasic.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
public class MsgInitConnStatusBasic extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgInitConnStatusBasic.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusBolus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java
index 36705c49ec..1b7a8dbe5c 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusBolus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusBolus.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,8 +6,8 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusOption.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusOption.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java
index 2b424a949b..2009bddd40 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusOption.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusOption.java
@@ -1,10 +1,10 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
/**
* Created by mike on 28.05.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusTime.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java
index d1d5652f4d..00b8379179 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgInitConnStatusTime.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgInitConnStatusTime.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,9 +10,8 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.PluginBase;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
import info.nightscout.utils.ToastUtils;
public class MsgInitConnStatusTime extends MessageBase {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgPCCommStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java
similarity index 88%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgPCCommStart.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java
index 4e4cab19e5..619bbd9461 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgPCCommStart.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStart.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgPCCommStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java
similarity index 88%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgPCCommStop.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java
index f5e3ce9b1f..20dd4e060f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgPCCommStop.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgPCCommStop.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetActivateBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetActivateBasalProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java
index 9357a05aef..64ed0488a4 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetActivateBasalProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetActivateBasalProfile.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java
similarity index 96%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetBasalProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java
index 9acd5ec824..dea2734a3e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetBasalProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetBasalProfile.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetCarbsEntry.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetCarbsEntry.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java
index 667070c684..6a16fd1a57 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetCarbsEntry.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetCarbsEntry.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -27,7 +27,7 @@ public class MsgSetCarbsEntry extends MessageBase {
AddParamByte((byte) 0x43); //??
AddParamInt(amount);
if (Config.logDanaMessageDetail)
- log.debug("Set carb entry: " + amount + " date " + time.toString());
+ log.debug("Set carb entry: " + amount + " date " + time.getTime().toString());
}
@Override
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetExtendedBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java
similarity index 88%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetExtendedBolusStart.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java
index 894227e07d..9ef6b0136e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetExtendedBolusStart.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStart.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import info.nightscout.androidaps.BuildConfig;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
+import info.nightscout.utils.HardLimits;
public class MsgSetExtendedBolusStart extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgSetExtendedBolusStart.class);
@@ -22,7 +22,7 @@ public class MsgSetExtendedBolusStart extends MessageBase {
if (halfhours > 16) halfhours = 16;
amount = MainApp.getConfigBuilder().applyBolusConstraints(amount);
if (amount < 0d) amount = 0d;
- if (amount > BuildConfig.MAXBOLUS) amount = BuildConfig.MAXBOLUS;
+ if (amount > HardLimits.maxBolus()) amount = HardLimits.maxBolus();
AddParamInt((int) (amount * 100));
AddParamByte(halfhours);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetExtendedBolusStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetExtendedBolusStop.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java
index 49933fc004..7084949daa 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetExtendedBolusStop.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetExtendedBolusStop.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetSingleBasalProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetSingleBasalProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java
index 4e57712b04..b56de8fd7a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetSingleBasalProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetSingleBasalProfile.java
@@ -1,6 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
-
-import com.j256.ormlite.stmt.query.Not;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTempBasalStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java
similarity index 95%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTempBasalStart.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java
index 29ab838b37..2b72c35749 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTempBasalStart.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStart.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTempBasalStop.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTempBasalStop.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java
index 02d095c679..39582ac399 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTempBasalStop.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTempBasalStop.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTime.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java
index 827958608c..aa15a02709 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSetTime.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSetTime.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingActiveProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java
similarity index 83%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingActiveProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java
index 723b4efbbf..b737073a43 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingActiveProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingActiveProfile.java
@@ -1,10 +1,10 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java
similarity index 85%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingBasal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java
index 319fe787f3..82d003b434 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingBasal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasal.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingBasalProfileAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingBasalProfileAll.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java
index 4dc9137a4f..6fab757486 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingBasalProfileAll.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingBasalProfileAll.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java
similarity index 81%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingGlucose.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java
index 1327445b19..6c7b302abf 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingGlucose.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingGlucose.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingMaxValues.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java
similarity index 88%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingMaxValues.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java
index b5ced45f67..0f2de2fe0b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingMaxValues.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMaxValues.java
@@ -1,10 +1,10 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingMeal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java
similarity index 86%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingMeal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java
index a588479869..1c8e3c2fcb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingMeal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingMeal.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 13.12.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingProfileRatios.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java
similarity index 91%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingProfileRatios.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java
index 56e7d6c6cb..512c96990e 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingProfileRatios.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatios.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingProfileRatiosAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingProfileRatiosAll.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java
index 09b386ab11..aaadb2bd59 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingProfileRatiosAll.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingProfileRatiosAll.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingPumpTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java
similarity index 87%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingPumpTime.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java
index e0d81a9614..5344ae86b6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingPumpTime.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingPumpTime.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,7 +6,7 @@ import org.slf4j.LoggerFactory;
import java.util.Date;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
public class MsgSettingPumpTime extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgSettingPumpTime.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java
similarity index 81%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java
index faa68c5eb7..797a82f80a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingShippingInfo.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingShippingInfo.java
@@ -1,13 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Date;
-
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingUserOptions.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java
similarity index 86%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingUserOptions.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java
index d1e0e9471b..8fb1e4f712 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgSettingUserOptions.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgSettingUserOptions.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java
index e7f5472feb..9e64f86363 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatus.java
@@ -1,10 +1,10 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
public class MsgStatus extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgStatus.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java
similarity index 91%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusBasic.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java
index d79dd6aea8..c50fac371a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusBasic.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBasic.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
public class MsgStatusBasic extends MessageBase {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusBolusExtended.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java
similarity index 96%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusBolusExtended.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java
index 3ffef7862f..de0749c292 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusBolusExtended.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusBolusExtended.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import android.support.annotation.NonNull;
@@ -12,8 +12,8 @@ import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
public class MsgStatusBolusExtended extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgStatusBolusExtended.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java
index 5006a7b1ea..7a703d468a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusProfile.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusTempBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java
similarity index 95%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusTempBasal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java
index cdcac0c365..1a2e21c004 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/MsgStatusTempBasal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/MsgStatusTempBasal.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
import android.support.annotation.NonNull;
@@ -12,8 +12,8 @@ import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump;
public class MsgStatusTempBasal extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgStatusTempBasal.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/RecordTypes.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/RecordTypes.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/RecordTypes.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/RecordTypes.java
index 9d6b2e4d64..f0de05810a 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/comm/RecordTypes.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/comm/RecordTypes.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.comm;
+package info.nightscout.androidaps.plugins.PumpDanaR.comm;
/**
* Created by mike on 28.05.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRBolusStart.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRBolusStart.java
similarity index 57%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRBolusStart.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRBolusStart.java
index 0be3cfb770..8217b51432 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRBolusStart.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRBolusStart.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.events;
+package info.nightscout.androidaps.plugins.PumpDanaR.events;
/**
* Created by mike on 03.08.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRNewStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRNewStatus.java
similarity index 56%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRNewStatus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRNewStatus.java
index af57fabf8d..a04f27f2d6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRNewStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRNewStatus.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.events;
+package info.nightscout.androidaps.plugins.PumpDanaR.events;
/**
* Created by mike on 08.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRSyncStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRSyncStatus.java
similarity index 79%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRSyncStatus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRSyncStatus.java
index 628fdb5aab..b64cf22748 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaR/events/EventDanaRSyncStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/events/EventDanaRSyncStatus.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaR.events;
+package info.nightscout.androidaps.plugins.PumpDanaR.events;
/**
* Created by mike on 20.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanFragment.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanFragment.java
index 4142b43ff6..bafe3f63ff 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean;
import android.annotation.SuppressLint;
@@ -24,19 +24,17 @@ import java.util.Date;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-import info.nightscout.androidaps.plugins.DanaR.Dialogs.ProfileViewDialog;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus;
-import info.nightscout.androidaps.plugins.DanaRKorean.History.DanaRHistoryActivity;
-import info.nightscout.androidaps.plugins.DanaRKorean.History.DanaRStatsActivity;
+import info.nightscout.androidaps.plugins.PumpDanaR.Dialogs.ProfileViewDialog;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRNewStatus;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.History.DanaRHistoryActivity;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.History.DanaRStatsActivity;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SetWarnColor;
-public class DanaRKoreanFragment extends Fragment implements FragmentBase {
+public class DanaRKoreanFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(DanaRKoreanFragment.class);
private static DanaRKoreanPlugin danaRKoreanPlugin = new DanaRKoreanPlugin();
@@ -163,18 +161,18 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventPumpStatusChanged c) {
Activity activity = getActivity();
if (activity != null) {
activity.runOnUiThread(
new Runnable() {
@Override
public void run() {
- if (c.sStatus == EventDanaRConnectionStatus.CONNECTING)
+ if (c.sStatus == EventPumpStatusChanged.CONNECTING)
btConnectionView.setText("{fa-bluetooth-b spin} " + c.sSecondsElapsed + "s");
- else if (c.sStatus == EventDanaRConnectionStatus.CONNECTED)
+ else if (c.sStatus == EventPumpStatusChanged.CONNECTED)
btConnectionView.setText("{fa-bluetooth}");
- else
+ else if (c.sStatus == EventPumpStatusChanged.DISCONNECTED)
btConnectionView.setText("{fa-bluetooth-b}");
}
}
@@ -192,11 +190,6 @@ public class DanaRKoreanFragment extends Fragment implements FragmentBase {
updateGUI();
}
- @Subscribe
- public void onStatusEvent(final EventPreferenceChange s) {
- updateGUI();
- }
-
// GUI functions
private void updateGUI() {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java
similarity index 97%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java
index 1384be16e2..726e1b95ab 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean;
import android.content.ComponentName;
import android.content.Context;
@@ -30,17 +30,18 @@ import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventPreferenceChange;
import info.nightscout.androidaps.interfaces.ConstraintsInterface;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.ProfileInterface;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.Services.ExecutionService;
-import info.nightscout.androidaps.plugins.NSProfile.NSProfilePlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.ProfileNS.NSProfilePlugin;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.Round;
@@ -56,8 +57,8 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, Constraints
return DanaRKoreanFragment.class.getName();
}
- static boolean fragmentPumpEnabled = true;
- static boolean fragmentProfileEnabled = true;
+ static boolean fragmentPumpEnabled = false;
+ static boolean fragmentProfileEnabled = false;
static boolean fragmentPumpVisible = true;
public static ExecutionService sExecutionService;
@@ -72,6 +73,8 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, Constraints
return sDanaRKoreanPump;
}
+ String textStatus = "";
+
public DanaRKoreanPlugin() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
useExtendedBoluses = sharedPreferences.getBoolean("danar_useextended", false);
@@ -185,6 +188,16 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, Constraints
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return type == PUMP;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PluginBase.PROFILE)
@@ -213,7 +226,7 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, Constraints
@Override
public boolean isSuspended() {
- return false;
+ return getDanaRPump().pumpSuspended;
}
@Override
@@ -285,12 +298,12 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, Constraints
}
@Override
- public Date lastStatusTime() {
+ public Date lastDataTime() {
return getDanaRPump().lastConnection;
}
@Override
- public void updateStatus(String reason) {
+ public void refreshDataFromPump(String reason) {
if (!isConnected() && !isConnecting()) {
doConnect(reason);
}
@@ -356,11 +369,11 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, Constraints
}
@Override
- public PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context) {
+ public PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context) {
ConfigBuilderPlugin configBuilderPlugin = MainApp.getConfigBuilder();
insulin = configBuilderPlugin.applyBolusConstraints(insulin);
if (insulin > 0 || carbs > 0) {
- Treatment t = new Treatment();
+ Treatment t = new Treatment(insulinType);
boolean connectionOK = false;
if (insulin > 0 || carbs > 0) connectionOK = sExecutionService.bolus(insulin, carbs, t);
PumpEnactResult result = new PumpEnactResult();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPump.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPump.java
index b29d9a4347..7ea3a0cffc 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/DanaRKoreanPump.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/DanaRKoreanPump.java
@@ -1,7 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean;
-
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean;
import org.json.JSONArray;
import org.json.JSONException;
@@ -11,9 +8,9 @@ import java.text.DecimalFormat;
import java.util.Date;
import info.nightscout.androidaps.Constants;
-import info.nightscout.androidaps.MainApp;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
/**
* Created by mike on 04.07.2016.
@@ -46,6 +43,8 @@ public class DanaRKoreanPump {
public int protocol;
public int productCode;
+ public boolean pumpSuspended;
+
public boolean isConfigUD;
public boolean isExtendedBolusEnabled;
public boolean isEasyModeEnabled;
@@ -115,8 +114,7 @@ public class DanaRKoreanPump {
// Evening / 17:00–21:59
// Night / 22:00–5:59
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- double dia = SafeParse.stringToDouble(SP.getString("danarprofile_dia", "3"));
+ double dia = SP.getDouble(R.string.key_danarprofile_dia, Constants.defaultDIA);
try {
json.put("defaultProfile", PROFILE_PREFIX + (activeProfile + 1));
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/History/DanaRHistoryActivity.java
similarity index 92%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/History/DanaRHistoryActivity.java
index d23cff488b..adbbf09e75 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRHistoryActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/History/DanaRHistoryActivity.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.History;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.History;
import android.app.Activity;
import android.content.ComponentName;
@@ -32,20 +32,19 @@ import org.slf4j.LoggerFactory;
import java.sql.SQLException;
import java.util.ArrayList;
-import java.util.Date;
import java.util.List;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.DanaRHistoryRecord;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.History.DanaRNSHistorySync;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus;
-import info.nightscout.androidaps.plugins.DanaRKorean.Services.ExecutionService;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.History.DanaRNSHistorySync;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.ToastUtils;
@@ -306,7 +305,7 @@ public class DanaRHistoryActivity extends Activity {
case RecordTypes.RECORD_TYPE_DAILY:
holder.dailybasal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBasal()) + "U");
holder.dailybolus.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()) + "U");
- holder.dailytotal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()+ record.getRecordDailyBasal()) + "U");
+ holder.dailytotal.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus() + record.getRecordDailyBasal()) + "U");
holder.time.setText(DateUtil.dateString(record.getRecordDate()));
holder.time.setVisibility(View.VISIBLE);
holder.value.setVisibility(View.GONE);
@@ -434,21 +433,12 @@ public class DanaRHistoryActivity extends Activity {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventPumpStatusChanged c) {
runOnUiThread(
new Runnable() {
@Override
public void run() {
- if (c.sStatus == EventDanaRConnectionStatus.CONNECTING) {
- statusView.setText(String.format(getString(R.string.danar_history_connectingfor), c.sSecondsElapsed));
- log.debug("EventDanaRConnectionStatus: " + "Connecting for " + c.sSecondsElapsed + "s");
- } else if (c.sStatus == EventDanaRConnectionStatus.CONNECTED) {
- statusView.setText(MainApp.sResources.getString(R.string.connected));
- log.debug("EventDanaRConnectionStatus: Connected");
- } else {
- statusView.setText(MainApp.sResources.getString(R.string.disconnected));
- log.debug("EventDanaRConnectionStatus: Disconnected");
- }
+ statusView.setText(c.textStatus());
}
}
);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRStatsActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/History/DanaRStatsActivity.java
similarity index 83%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRStatsActivity.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/History/DanaRStatsActivity.java
index d8b5390fbd..dc0e513913 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/History/DanaRStatsActivity.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/History/DanaRStatsActivity.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.History;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.History;
import android.app.Activity;
import android.content.ComponentName;
@@ -48,13 +48,13 @@ import java.util.List;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.db.DanaRHistoryRecord;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.ProfileInterface;
-import info.nightscout.androidaps.plugins.CircadianPercentageProfile.CircadianPercentageProfilePlugin;
+import info.nightscout.androidaps.plugins.ProfileCircadianPercentage.CircadianPercentageProfilePlugin;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRSyncStatus;
-import info.nightscout.androidaps.plugins.DanaRKorean.Services.ExecutionService;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRSyncStatus;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.Services.ExecutionService;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
@@ -68,11 +68,11 @@ public class DanaRStatsActivity extends Activity {
private Handler mHandler;
private static HandlerThread mHandlerThread;
- TextView statusView, statsMessage,totalBaseBasal2;
+ TextView statusView, statsMessage, totalBaseBasal2;
EditText totalBaseBasal;
Button reloadButton;
LinearLayoutManager llm;
- TableLayout tl,ctl,etl;
+ TableLayout tl, ctl, etl;
String TBB;
double magicNumber;
DecimalFormat decimalFormat;
@@ -118,15 +118,15 @@ public class DanaRStatsActivity extends Activity {
public boolean dispatchTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
View myView = getCurrentFocus();
- if ( myView instanceof EditText) {
+ if (myView instanceof EditText) {
Rect rect = new Rect();
myView.getGlobalVisibleRect(rect);
- if (!rect.contains((int)event.getRawX(), (int)event.getRawY())) {
+ if (!rect.contains((int) event.getRawX(), (int) event.getRawY())) {
myView.clearFocus();
}
}
}
- return super.dispatchTouchEvent( event );
+ return super.dispatchTouchEvent(event);
}
ServiceConnection mConnection = new ServiceConnection() {
@@ -172,11 +172,11 @@ public class DanaRStatsActivity extends Activity {
totalBaseBasal.setText(TBB);
ProfileInterface pi = ConfigBuilderPlugin.getActiveProfile();
- if (pi != null && pi instanceof CircadianPercentageProfilePlugin){
- double cppTBB = ((CircadianPercentageProfilePlugin)pi).baseBasalSum();
+ if (pi != null && pi instanceof CircadianPercentageProfilePlugin) {
+ double cppTBB = ((CircadianPercentageProfilePlugin) pi).baseBasalSum();
totalBaseBasal.setText(decimalFormat.format(cppTBB));
SharedPreferences.Editor edit = preferences.edit();
- edit.putString("TBB",totalBaseBasal.getText().toString());
+ edit.putString("TBB", totalBaseBasal.getText().toString());
edit.commit();
TBB = preferences.getString("TBB", "");
}
@@ -312,7 +312,7 @@ public class DanaRStatsActivity extends Activity {
totalBaseBasal.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
- if(actionId== EditorInfo.IME_ACTION_DONE){
+ if (actionId == EditorInfo.IME_ACTION_DONE) {
totalBaseBasal.clearFocus();
return true;
}
@@ -323,11 +323,11 @@ public class DanaRStatsActivity extends Activity {
totalBaseBasal.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
- if(hasFocus){
+ if (hasFocus) {
totalBaseBasal.getText().clear();
} else {
SharedPreferences.Editor edit = preferences.edit();
- edit.putString("TBB",totalBaseBasal.getText().toString());
+ edit.putString("TBB", totalBaseBasal.getText().toString());
edit.commit();
TBB = preferences.getString("TBB", "");
loadDataFromDB(RecordTypes.RECORD_TYPE_DAILY);
@@ -362,15 +362,14 @@ public class DanaRStatsActivity extends Activity {
cleanTable(etl);
DateFormat df = new SimpleDateFormat("dd.MM.");
- if(TextUtils.isEmpty(TBB)) {
+ if (TextUtils.isEmpty(TBB)) {
totalBaseBasal.setError("Please Enter Total Base Basal");
return;
- }
- else {
+ } else {
magicNumber = SafeParse.stringToDouble(TBB);
}
- magicNumber *=2;
+ magicNumber *= 2;
totalBaseBasal2.setText(decimalFormat.format(magicNumber));
int i = 0;
@@ -379,45 +378,45 @@ public class DanaRStatsActivity extends Activity {
double weighted05 = 0d;
double weighted07 = 0d;
- for (DanaRHistoryRecord record: historyList) {
- double tdd= record.getRecordDailyBolus() + record.getRecordDailyBasal();
+ for (DanaRHistoryRecord record : historyList) {
+ double tdd = record.getRecordDailyBolus() + record.getRecordDailyBasal();
// Create the table row
TableRow tr = new TableRow(DanaRStatsActivity.this);
- if(i%2!=0) tr.setBackgroundColor(Color.DKGRAY);
- tr.setId(100+i);
+ if (i % 2 != 0) tr.setBackgroundColor(Color.DKGRAY);
+ tr.setId(100 + i);
tr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
// Here create the TextView dynamically
TextView labelDATE = new TextView(DanaRStatsActivity.this);
- labelDATE.setId(200+i);
+ labelDATE.setId(200 + i);
labelDATE.setText(df.format(new Date(record.getRecordDate())));
labelDATE.setTextColor(Color.WHITE);
tr.addView(labelDATE);
TextView labelBASAL = new TextView(DanaRStatsActivity.this);
- labelBASAL.setId(300+i);
+ labelBASAL.setId(300 + i);
labelBASAL.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBasal()) + " U");
labelBASAL.setTextColor(Color.WHITE);
tr.addView(labelBASAL);
TextView labelBOLUS = new TextView(DanaRStatsActivity.this);
- labelBOLUS.setId(400+i);
+ labelBOLUS.setId(400 + i);
labelBOLUS.setText(DecimalFormatter.to2Decimal(record.getRecordDailyBolus()) + " U");
labelBOLUS.setTextColor(Color.WHITE);
tr.addView(labelBOLUS);
TextView labelTDD = new TextView(DanaRStatsActivity.this);
- labelTDD.setId(500+i);
+ labelTDD.setId(500 + i);
labelTDD.setText(DecimalFormatter.to2Decimal(tdd) + " U");
labelTDD.setTextColor(Color.WHITE);
tr.addView(labelTDD);
TextView labelRATIO = new TextView(DanaRStatsActivity.this);
- labelRATIO.setId(600+i);
- labelRATIO.setText(Math.round(100*tdd/magicNumber) +" %");
+ labelRATIO.setId(600 + i);
+ labelRATIO.setText(Math.round(100 * tdd / magicNumber) + " %");
labelRATIO.setTextColor(Color.WHITE);
tr.addView(labelRATIO);
@@ -431,28 +430,28 @@ public class DanaRStatsActivity extends Activity {
// Create the cumtable row
TableRow ctr = new TableRow(DanaRStatsActivity.this);
- if(i%2==0) ctr.setBackgroundColor(Color.DKGRAY);
- ctr.setId(700+i);
+ if (i % 2 == 0) ctr.setBackgroundColor(Color.DKGRAY);
+ ctr.setId(700 + i);
ctr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
// Here create the TextView dynamically
TextView labelDAYS = new TextView(DanaRStatsActivity.this);
- labelDAYS.setId(800+i);
+ labelDAYS.setId(800 + i);
labelDAYS.setText("" + i);
labelDAYS.setTextColor(Color.WHITE);
ctr.addView(labelDAYS);
TextView labelCUMTDD = new TextView(DanaRStatsActivity.this);
- labelCUMTDD.setId(900+i);
- labelCUMTDD.setText(DecimalFormatter.to2Decimal(sum/i) + " U");
+ labelCUMTDD.setId(900 + i);
+ labelCUMTDD.setText(DecimalFormatter.to2Decimal(sum / i) + " U");
labelCUMTDD.setTextColor(Color.WHITE);
ctr.addView(labelCUMTDD);
TextView labelCUMRATIO = new TextView(DanaRStatsActivity.this);
- labelCUMRATIO.setId(1000+i);
- labelCUMRATIO.setText(Math.round(100*sum/i/magicNumber) + " %");
+ labelCUMRATIO.setId(1000 + i);
+ labelCUMRATIO.setText(Math.round(100 * sum / i / magicNumber) + " %");
labelCUMRATIO.setTextColor(Color.WHITE);
ctr.addView(labelCUMRATIO);
@@ -462,7 +461,7 @@ public class DanaRStatsActivity extends Activity {
TableLayout.LayoutParams.WRAP_CONTENT));
}
- if (historyList.size()<3 || !(df.format(new Date(historyList.get(0).getRecordDate())).equals(df.format(new Date(System.currentTimeMillis() - 1000*60*60*24))))){
+ if (historyList.size() < 3 || !(df.format(new Date(historyList.get(0).getRecordDate())).equals(df.format(new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24))))) {
statsMessage.setVisibility(View.VISIBLE);
statsMessage.setText(getString(R.string.danar_stats_olddata_Message));
@@ -474,38 +473,38 @@ public class DanaRStatsActivity extends Activity {
i = 0;
- for (DanaRHistoryRecord record: historyList) {
- double tdd= record.getRecordDailyBolus() + record.getRecordDailyBasal();
- if(i == 0 ) {
+ for (DanaRHistoryRecord record : historyList) {
+ double tdd = record.getRecordDailyBolus() + record.getRecordDailyBasal();
+ if (i == 0) {
weighted03 = tdd;
weighted05 = tdd;
weighted07 = tdd;
} else {
- weighted07 = (weighted07*0.3 + tdd*0.7);
- weighted05 = (weighted05*0.5 + tdd*0.5);
- weighted03 = (weighted03*0.7 + tdd*0.3);
+ weighted07 = (weighted07 * 0.3 + tdd * 0.7);
+ weighted05 = (weighted05 * 0.5 + tdd * 0.5);
+ weighted03 = (weighted03 * 0.7 + tdd * 0.3);
}
i++;
}
// Create the exptable row
TableRow etr = new TableRow(DanaRStatsActivity.this);
- if(i%2!=0) etr.setBackgroundColor(Color.DKGRAY);
- etr.setId(1100+i);
+ if (i % 2 != 0) etr.setBackgroundColor(Color.DKGRAY);
+ etr.setId(1100 + i);
etr.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT,
TableLayout.LayoutParams.WRAP_CONTENT));
// Here create the TextView dynamically
TextView labelWEIGHT = new TextView(DanaRStatsActivity.this);
- labelWEIGHT.setId(1200+i);
+ labelWEIGHT.setId(1200 + i);
labelWEIGHT.setText("0.3\n" + "0.5\n" + "0.7");
labelWEIGHT.setTextColor(Color.WHITE);
etr.addView(labelWEIGHT);
TextView labelEXPTDD = new TextView(DanaRStatsActivity.this);
- labelEXPTDD.setId(1300+i);
+ labelEXPTDD.setId(1300 + i);
labelEXPTDD.setText(DecimalFormatter.to2Decimal(weighted03)
+ " U\n" + DecimalFormatter.to2Decimal(weighted05)
+ " U\n" + DecimalFormatter.to2Decimal(weighted07) + " U");
@@ -513,10 +512,10 @@ public class DanaRStatsActivity extends Activity {
etr.addView(labelEXPTDD);
TextView labelEXPRATIO = new TextView(DanaRStatsActivity.this);
- labelEXPRATIO.setId(1400+i);
- labelEXPRATIO.setText(Math.round(100*weighted03/magicNumber) +" %\n"
- + Math.round(100*weighted05/magicNumber) +" %\n"
- + Math.round(100*weighted07/magicNumber) +" %");
+ labelEXPRATIO.setId(1400 + i);
+ labelEXPRATIO.setText(Math.round(100 * weighted03 / magicNumber) + " %\n"
+ + Math.round(100 * weighted05 / magicNumber) + " %\n"
+ + Math.round(100 * weighted07 / magicNumber) + " %");
labelEXPRATIO.setTextColor(Color.WHITE);
etr.addView(labelEXPRATIO);
@@ -549,21 +548,12 @@ public class DanaRStatsActivity extends Activity {
}
@Subscribe
- public void onStatusEvent(final EventDanaRConnectionStatus c) {
+ public void onStatusEvent(final EventPumpStatusChanged c) {
runOnUiThread(
new Runnable() {
@Override
public void run() {
- if (c.sStatus == EventDanaRConnectionStatus.CONNECTING) {
- statusView.setText(String.format(getString(R.string.danar_history_connectingfor), c.sSecondsElapsed));
- log.debug("EventDanaRConnectionStatus: " + "Connecting for " + c.sSecondsElapsed + "s");
- } else if (c.sStatus == EventDanaRConnectionStatus.CONNECTED) {
- statusView.setText(MainApp.sResources.getString(R.string.connected));
- log.debug("EventDanaRConnectionStatus: Connected");
- } else {
- statusView.setText(MainApp.sResources.getString(R.string.disconnected));
- log.debug("EventDanaRConnectionStatus: Disconnected");
- }
+ statusView.setText(c.textStatus());
}
}
);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java
similarity index 97%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java
index 50f9e855ef..b6b7a291e0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/SerialIOThread.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/SerialIOThread.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean;
import android.bluetooth.BluetoothSocket;
@@ -14,8 +14,8 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MessageHashTable;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MessageHashTable;
import info.nightscout.utils.CRC;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/Services/ExecutionService.java
similarity index 74%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/Services/ExecutionService.java
index 0bad19b38e..83cae228f0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/Services/ExecutionService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/Services/ExecutionService.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.Services;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.Services;
import android.app.Service;
import android.bluetooth.BluetoothAdapter;
@@ -8,11 +8,9 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.SharedPreferences;
import android.os.Binder;
import android.os.IBinder;
import android.os.PowerManager;
-import android.preference.PreferenceManager;
import com.squareup.otto.Subscribe;
@@ -33,58 +31,57 @@ import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventAppExit;
import info.nightscout.androidaps.events.EventInitializationChanged;
import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.events.EventPumpStatusChanged;
import info.nightscout.androidaps.interfaces.PluginBase;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusProgress;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryAlarm;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryBasalHour;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryBolus;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryCarbo;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryDailyInsulin;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryDone;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryError;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryGlucose;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryRefill;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistorySuspend;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgPCCommStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgPCCommStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetCarbsEntry;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetExtendedBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetExtendedBolusStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetSingleBasalProfile;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTempBasalStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTempBasalStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTime;
-import info.nightscout.androidaps.plugins.DanaR.comm.RecordTypes;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRConnectionStatus;
-import info.nightscout.androidaps.plugins.DanaR.events.EventDanaRNewStatus;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
-import info.nightscout.androidaps.plugins.DanaRKorean.SerialIOThread;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgCheckValue;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingBasal;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingGlucose;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingMaxValues;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingMeal;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingProfileRatios;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingPumpTime;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgSettingShippingInfo;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgStatusBasic;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgStatusBolusExtended;
-import info.nightscout.androidaps.plugins.DanaRKorean.comm.MsgStatusTempBasal;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusProgress;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryAlarm;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryBasalHour;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryBolus;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryCarbo;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryDailyInsulin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryDone;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryError;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryGlucose;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryRefill;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistorySuspend;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgPCCommStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgPCCommStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetCarbsEntry;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetExtendedBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetExtendedBolusStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetSingleBasalProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTempBasalStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTempBasalStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTime;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.RecordTypes;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.events.EventDanaRNewStatus;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.SerialIOThread;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgCheckValue;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingBasal;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingGlucose;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingMaxValues;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingMeal;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingProfileRatios;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingPumpTime;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgSettingShippingInfo;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgStatusBasic;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgStatusBolusExtended;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.comm.MsgStatusTempBasal;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.utils.SP;
import info.nightscout.utils.ToastUtils;
public class ExecutionService extends Service {
private static Logger log = LoggerFactory.getLogger(ExecutionService.class);
- private SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
private String devName;
private SerialIOThread mSerialIOThread;
@@ -109,11 +106,11 @@ public class ExecutionService extends Service {
String action = intent.getAction();
if (BluetoothDevice.ACTION_ACL_DISCONNECTED.equals(action)) {
log.debug("Device has disconnected " + device.getName());//Device has disconnected
- if (mBTDevice != null && mBTDevice.getName().equals(device.getName())) {
+ if (mBTDevice != null && mBTDevice.getName() != null && mBTDevice.getName().equals(device.getName())) {
if (mSerialIOThread != null) {
mSerialIOThread.disconnect("BT disconnection broadcast");
}
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.DISCONNECTED, 0));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED));
}
}
}
@@ -183,7 +180,7 @@ public class ExecutionService extends Service {
}
public void connect(String from) {
- if (danaRKoreanPump.password != -1 && danaRKoreanPump.password != SafeParse.stringToInt(SP.getString("danar_password", "-1"))) {
+ if (danaRKoreanPump.password != -1 && danaRKoreanPump.password != SP.getInt(R.string.key_danar_password, -1)) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.wrongpumppassword), R.raw.error);
return;
}
@@ -203,7 +200,7 @@ public class ExecutionService extends Service {
long startTime = new Date().getTime();
while (!isConnected() && startTime + maxConnectionTime >= new Date().getTime()) {
long secondsElapsed = (new Date().getTime() - startTime) / 1000L;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.CONNECTING, (int) secondsElapsed));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTING, (int) secondsElapsed));
if (Config.logDanaBTComm)
log.debug("connect waiting " + secondsElapsed + "sec from: " + from);
try {
@@ -222,18 +219,19 @@ public class ExecutionService extends Service {
mSerialIOThread.disconnect("Recreate SerialIOThread");
}
mSerialIOThread = new SerialIOThread(mRfcommSocket);
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.CONNECTED, 0));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.CONNECTED));
if (!getPumpStatus()) {
mSerialIOThread.disconnect("getPumpStatus failed");
waitMsec(3000);
if (!MainApp.getSpecificPlugin(DanaRKoreanPlugin.class).isEnabled(PluginBase.PUMP))
return;
getBTSocketForSelectedPump();
+ startTime = new Date().getTime();
}
}
}
if (!isConnected()) {
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.DISCONNECTED, 0));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED));
log.error("Pump connection timed out");
}
connectionInProgress = false;
@@ -242,7 +240,7 @@ public class ExecutionService extends Service {
}
private void getBTSocketForSelectedPump() {
- devName = SP.getString("danar_bt_name", "");
+ devName = SP.getString(MainApp.sResources.getString(R.string.key_danar_bt_name), "");
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter != null) {
@@ -275,7 +273,7 @@ public class ExecutionService extends Service {
private boolean getPumpStatus() {
try {
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.gettingpumpstatus)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.gettingpumpstatus)));
//MsgStatus statusMsg = new MsgStatus();
MsgStatusBasic statusBasicMsg = new MsgStatusBasic();
MsgStatusTempBasal tempStatusMsg = new MsgStatusTempBasal();
@@ -334,7 +332,7 @@ public class ExecutionService extends Service {
danaRKoreanPump.lastConnection = now;
MainApp.bus().post(new EventDanaRNewStatus());
MainApp.bus().post(new EventInitializationChanged());
- MainApp.getConfigBuilder().uploadDeviceStatus(60);
+ MainApp.getConfigBuilder().uploadDeviceStatus();
if (danaRKoreanPump.dailyTotalUnits > danaRKoreanPump.maxDailyTotalUnits * Constants.dailyLimitWarning ) {
log.debug("Approaching daily limit: " + danaRKoreanPump.dailyTotalUnits + "/" + danaRKoreanPump.maxDailyTotalUnits);
Notification reportFail = new Notification(Notification.APPROACHING_DAILY_LIMIT, MainApp.sResources.getString(R.string.approachingdailylimit), Notification.URGENT);
@@ -350,47 +348,46 @@ public class ExecutionService extends Service {
public boolean tempBasal(int percent, int durationInHours) {
connect("tempBasal");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.settingtempbasal)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.settingtempbasal)));
mSerialIOThread.sendMessage(new MsgSetTempBasalStart(percent, durationInHours));
mSerialIOThread.sendMessage(new MsgStatusTempBasal());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean tempBasalStop() {
connect("tempBasalStop");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.stoppingtempbasal)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.stoppingtempbasal)));
mSerialIOThread.sendMessage(new MsgSetTempBasalStop());
mSerialIOThread.sendMessage(new MsgStatusTempBasal());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean extendedBolus(double insulin, int durationInHalfHours) {
connect("extendedBolus");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.settingextendedbolus)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.settingextendedbolus)));
mSerialIOThread.sendMessage(new MsgSetExtendedBolusStart(insulin, (byte) (durationInHalfHours & 0xFF)));
mSerialIOThread.sendMessage(new MsgStatusBolusExtended());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean extendedBolusStop() {
connect("extendedBolusStop");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.stoppingextendedbolus)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.stoppingextendedbolus)));
mSerialIOThread.sendMessage(new MsgSetExtendedBolusStop());
mSerialIOThread.sendMessage(new MsgStatusBolusExtended());
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
public boolean bolus(Double amount, int carbs, Treatment t) {
bolusingTreatment = t;
MsgBolusStart start = new MsgBolusStart(amount);
- MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables
MsgBolusStop stop = new MsgBolusStop(amount, t);
connect("bolus");
@@ -400,6 +397,8 @@ public class ExecutionService extends Service {
Calendar time = Calendar.getInstance();
mSerialIOThread.sendMessage(new MsgSetCarbsEntry(time, carbs));
}
+
+ MsgBolusProgress progress = new MsgBolusProgress(amount, t); // initialize static variables
MainApp.bus().post(new EventDanaRBolusStart());
if (!stop.stopped) {
@@ -410,7 +409,7 @@ public class ExecutionService extends Service {
}
while (!stop.stopped && !start.failed) {
waitMsec(100);
- if (progress.lastReceive != 0 && (new Date().getTime() - progress.lastReceive) > 5 * 1000L) { // if i didn't receive status for more than 5 sec expecting broken comm
+ if ((new Date().getTime() - progress.lastReceive) > 5 * 1000L) { // if i didn't receive status for more than 5 sec expecting broken comm
stop.stopped = true;
stop.forced = true;
log.debug("Communication stopped");
@@ -495,13 +494,13 @@ public class ExecutionService extends Service {
public boolean updateBasalsInPump(final NSProfile profile) {
connect("updateBasalsInPump");
if (!isConnected()) return false;
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.updatingbasalrates)));
+ MainApp.bus().post(new EventPumpStatusChanged(MainApp.sResources.getString(R.string.updatingbasalrates)));
double[] basal = buildDanaRProfileRecord(profile);
MsgSetSingleBasalProfile msgSet = new MsgSetSingleBasalProfile(basal);
mSerialIOThread.sendMessage(msgSet);
danaRKoreanPump.lastSettingsRead = new Date(0); // force read full settings
getPumpStatus();
- MainApp.bus().post(new EventDanaRConnectionStatus(EventDanaRConnectionStatus.PERFORMING, 0, MainApp.sResources.getString(R.string.disconnecting)));
+ MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTING));
return true;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MessageHashTable.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MessageHashTable.java
similarity index 71%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MessageHashTable.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MessageHashTable.java
index 084ad11074..36cf8c8edb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MessageHashTable.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MessageHashTable.java
@@ -1,31 +1,31 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusProgress;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgBolusStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgError;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryAlarm;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryAll;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryBolus;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryCarbo;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryDailyInsulin;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryGlucose;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryNew;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgHistoryNewDone;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgPCCommStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgPCCommStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetCarbsEntry;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetExtendedBolusStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetExtendedBolusStop;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetSingleBasalProfile;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTempBasalStart;
-import info.nightscout.androidaps.plugins.DanaR.comm.MsgSetTempBasalStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusProgress;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgBolusStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgError;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryAlarm;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryAll;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryBolus;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryCarbo;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryDailyInsulin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryGlucose;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryNew;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgHistoryNewDone;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgPCCommStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgPCCommStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetCarbsEntry;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetExtendedBolusStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetExtendedBolusStop;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetSingleBasalProfile;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTempBasalStart;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MsgSetTempBasalStop;
/**
* Created by mike on 28.05.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue.java
similarity index 84%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue.java
index efcb32f2ba..1cd6c25abf 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgCheckValue.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgCheckValue.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,9 +6,9 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
import info.nightscout.utils.ToastUtils;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic.java
similarity index 80%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusBasic.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic.java
index 39f45d7843..53f62972c2 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusBasic.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBasic.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,9 +6,9 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
@@ -26,13 +26,13 @@ public class MsgInitConnStatusBasic extends MessageBase {
return;
}
DanaRKoreanPump pump = DanaRKoreanPlugin.getDanaRPump();
- int isStatusSuspendOn = intFromBuff(bytes, 0, 1);
+ pump.pumpSuspended = intFromBuff(bytes, 0, 1) == 1;
int isUtilityEnable = intFromBuff(bytes, 1, 1);
pump.isEasyModeEnabled = intFromBuff(bytes, 2, 1) == 1;
int easyUIMode = intFromBuff(bytes, 3, 1);
pump.password = intFromBuff(bytes, 4, 2) ^ 0x3463;
if (Config.logDanaMessageDetail) {
- log.debug("isStatusSuspendOn: " + isStatusSuspendOn);
+ log.debug("isStatusSuspendOn: " + pump.pumpSuspended);
log.debug("isUtilityEnable: " + isUtilityEnable);
log.debug("Is EasyUI Enabled: " + pump.isEasyModeEnabled);
log.debug("easyUIMode: " + easyUIMode);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusBolus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus.java
similarity index 87%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusBolus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus.java
index b391fe11e3..5fe064dcdd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusBolus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusBolus.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,9 +6,9 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusTime.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime.java
index 5e904a493b..e302d55e7f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgInitConnStatusTime.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgInitConnStatusTime.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -10,9 +10,9 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.PluginBase;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
import info.nightscout.utils.ToastUtils;
public class MsgInitConnStatusTime extends MessageBase {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal.java
similarity index 80%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingBasal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal.java
index 57f63efa5a..fcf8a1e1f6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingBasal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasal.java
@@ -1,12 +1,12 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingBasalProfileAll.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingBasalProfileAll.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll.java
index 9397ed86c6..1a5eeeeba3 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingBasalProfileAll.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingBasalProfileAll.java
@@ -1,12 +1,12 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingGlucose.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingGlucose.java
similarity index 74%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingGlucose.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingGlucose.java
index 8ebc972495..10b8f5ef74 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingGlucose.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingGlucose.java
@@ -1,12 +1,12 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingMaxValues.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingMaxValues.java
similarity index 82%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingMaxValues.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingMaxValues.java
index 428881e715..c5eca68dca 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingMaxValues.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingMaxValues.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingMeal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingMeal.java
similarity index 82%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingMeal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingMeal.java
index 488cf3becf..0fae0a27db 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingMeal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingMeal.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,11 +6,9 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPump;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventDismissNotification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingProfileRatios.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingProfileRatios.java
similarity index 87%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingProfileRatios.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingProfileRatios.java
index e023c1bb5b..f34dff5328 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingProfileRatios.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingProfileRatios.java
@@ -1,12 +1,12 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingPumpTime.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingPumpTime.java
similarity index 81%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingPumpTime.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingPumpTime.java
index 359ffb924e..180da93bbb 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingPumpTime.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingPumpTime.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -6,8 +6,8 @@ import org.slf4j.LoggerFactory;
import java.util.Date;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
public class MsgSettingPumpTime extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgSettingPumpTime.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingShippingInfo.java
similarity index 75%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingShippingInfo.java
index f222d86cbf..80900dfba5 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgSettingShippingInfo.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgSettingShippingInfo.java
@@ -1,14 +1,12 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Date;
-
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatus.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus.java
similarity index 89%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatus.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus.java
index bb4adaa58e..d17b41edd2 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatus.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatus.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
public class MsgStatus extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgStatus.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusBasic.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic.java
similarity index 86%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusBasic.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic.java
index 46a230b184..5332ec5ffa 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusBasic.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBasic.java
@@ -1,11 +1,11 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
public class MsgStatusBasic extends MessageBase {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusBolusExtended.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBolusExtended.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusBolusExtended.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBolusExtended.java
index 1c740fd960..f5879b76a8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusBolusExtended.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusBolusExtended.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import android.support.annotation.NonNull;
@@ -12,9 +12,9 @@ import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
public class MsgStatusBolusExtended extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgStatusBolusExtended.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusProfile.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusProfile.java
similarity index 86%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusProfile.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusProfile.java
index 7af3260b3a..58f7077ae8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusProfile.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusProfile.java
@@ -1,12 +1,12 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.Config;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
/**
* Created by mike on 05.07.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusTempBasal.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusTempBasal.java
similarity index 94%
rename from app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusTempBasal.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusTempBasal.java
index 4506bb944a..6ba599f33b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/DanaRKorean/comm/MsgStatusTempBasal.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRKorean/comm/MsgStatusTempBasal.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.DanaRKorean.comm;
+package info.nightscout.androidaps.plugins.PumpDanaRKorean.comm;
import android.support.annotation.NonNull;
@@ -12,9 +12,9 @@ import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.plugins.DanaR.comm.MessageBase;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPump;
+import info.nightscout.androidaps.plugins.PumpDanaR.comm.MessageBase;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPump;
public class MsgStatusTempBasal extends MessageBase {
private static Logger log = LoggerFactory.getLogger(MsgStatusTempBasal.class);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIFragment.java
new file mode 100644
index 0000000000..f6221d627e
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIFragment.java
@@ -0,0 +1,12 @@
+package info.nightscout.androidaps.plugins.PumpMDI;
+
+
+import android.support.v4.app.Fragment;
+
+public class MDIFragment extends Fragment {
+ private static MDIPlugin mdiPlugin = new MDIPlugin();
+
+ public static MDIPlugin getPlugin() {
+ return mdiPlugin;
+ }
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/MDI/MDIPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/MDI/MDIPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java
index ce48a966de..e9010438c6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/MDI/MDIPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpMDI/MDIPlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.MDI;
+package info.nightscout.androidaps.plugins.PumpMDI;
import android.content.Context;
@@ -7,7 +7,6 @@ import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.sql.SQLException;
import java.util.Date;
import info.nightscout.androidaps.BuildConfig;
@@ -16,13 +15,11 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.TempBasal;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress;
-import info.nightscout.androidaps.plugins.VirtualPump.VirtualPumpFragment;
-import info.nightscout.androidaps.plugins.VirtualPump.events.EventVirtualPumpUpdateGui;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
/**
@@ -95,6 +92,16 @@ public class MDIPlugin implements PluginBase, PumpInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PUMP) this.fragmentEnabled = fragmentEnabled;
@@ -147,12 +154,12 @@ public class MDIPlugin implements PluginBase, PumpInterface {
}
@Override
- public Date lastStatusTime() {
+ public Date lastDataTime() {
return new Date();
}
@Override
- public void updateStatus(String reason) {
+ public void refreshDataFromPump(String reason) {
// do nothing
}
@@ -187,7 +194,7 @@ public class MDIPlugin implements PluginBase, PumpInterface {
}
@Override
- public PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context) {
+ public PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context) {
PumpEnactResult result = new PumpEnactResult();
result.success = true;
result.bolusDelivered = insulin;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpFragment.java
similarity index 93%
rename from app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpFragment.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpFragment.java
index 4f842fdaa3..edad845092 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpFragment.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.VirtualPump;
+package info.nightscout.androidaps.plugins.PumpVirtual;
import android.app.Activity;
@@ -18,10 +18,9 @@ import org.slf4j.LoggerFactory;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-import info.nightscout.androidaps.plugins.VirtualPump.events.EventVirtualPumpUpdateGui;
+import info.nightscout.androidaps.plugins.PumpVirtual.events.EventVirtualPumpUpdateGui;
-public class VirtualPumpFragment extends Fragment implements FragmentBase {
+public class VirtualPumpFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(VirtualPumpFragment.class);
private static VirtualPumpPlugin virtualPumpPlugin = new VirtualPumpPlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java
similarity index 90%
rename from app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java
index e90916122f..2a1221e88d 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/VirtualPumpPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/VirtualPumpPlugin.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.VirtualPump;
+package info.nightscout.androidaps.plugins.PumpVirtual;
import android.content.Context;
import android.content.SharedPreferences;
@@ -18,12 +18,14 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.TempBasal;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpDescription;
import info.nightscout.androidaps.interfaces.PumpInterface;
+import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress;
-import info.nightscout.androidaps.plugins.VirtualPump.events.EventVirtualPumpUpdateGui;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.PumpVirtual.events.EventVirtualPumpUpdateGui;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
/**
@@ -37,6 +39,8 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
public static Integer batteryPercent = 50;
public static Integer reservoirInUnits = 50;
+ Date lastDataTime = new Date(0);
+
boolean fragmentEnabled = true;
boolean fragmentVisible = true;
@@ -106,6 +110,16 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == PUMP) this.fragmentEnabled = fragmentEnabled;
@@ -149,6 +163,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
@Override
public int setNewBasalProfile(NSProfile profile) {
// Do nothing here. we are using MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ lastDataTime = new Date();
return SUCCESS;
}
@@ -158,18 +173,19 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
}
@Override
- public Date lastStatusTime() {
- return new Date();
+ public Date lastDataTime() {
+ return lastDataTime;
}
@Override
- public void updateStatus(String reason) {
- // do nothing
+ public void refreshDataFromPump(String reason) {
+ MainApp.getConfigBuilder().uploadDeviceStatus();
+ lastDataTime = new Date();
}
@Override
public double getBaseBasalRate() {
- NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
if (profile == null)
return defaultBasalValue;
return profile.getBasal(profile.secondsFromMidnight());
@@ -182,7 +198,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (getTempBasal().isAbsolute) {
return getTempBasal().absolute;
} else {
- NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
if (profile == null)
return defaultBasalValue;
Double baseRate = profile.getBasal(profile.secondsFromMidnight());
@@ -193,12 +209,12 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
@Override
public TempBasal getTempBasal() {
- return MainApp.getConfigBuilder().getActiveTempBasals().getTempBasal(new Date());
+ return ConfigBuilderPlugin.getActiveTempBasals().getTempBasal(new Date());
}
@Override
public TempBasal getExtendedBolus() {
- return MainApp.getConfigBuilder().getActiveTempBasals().getExtendedBolus(new Date());
+ return ConfigBuilderPlugin.getActiveTempBasals().getExtendedBolus(new Date());
}
@Override
@@ -210,11 +226,11 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
@Override
public TempBasal getTempBasal(Date time) {
- return MainApp.getConfigBuilder().getActiveTempBasals().getTempBasal(time);
+ return ConfigBuilderPlugin.getActiveTempBasals().getTempBasal(time);
}
@Override
- public PumpEnactResult deliverTreatment(Double insulin, Integer carbs, Context context) {
+ public PumpEnactResult deliverTreatment(InsulinInterface insulinType, Double insulin, Integer carbs, Context context) {
PumpEnactResult result = new PumpEnactResult();
result.success = true;
result.bolusDelivered = insulin;
@@ -250,6 +266,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (Config.logPumpComm)
log.debug("Delivering treatment insulin: " + insulin + "U carbs: " + carbs + "g " + result);
MainApp.bus().post(new EventVirtualPumpUpdateGui());
+ lastDataTime = new Date();
return result;
}
@@ -284,6 +301,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (Config.logPumpComm)
log.debug("Setting temp basal absolute: " + result);
MainApp.bus().post(new EventVirtualPumpUpdateGui());
+ lastDataTime = new Date();
return result;
}
@@ -317,6 +335,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (Config.logPumpComm)
log.debug("Settings temp basal percent: " + result);
MainApp.bus().post(new EventVirtualPumpUpdateGui());
+ lastDataTime = new Date();
return result;
}
@@ -348,6 +367,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (Config.logPumpComm)
log.debug("Setting extended bolus: " + result);
MainApp.bus().post(new EventVirtualPumpUpdateGui());
+ lastDataTime = new Date();
return result;
}
@@ -374,6 +394,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
result.comment = MainApp.instance().getString(R.string.virtualpump_sqlerror);
}
}
+ lastDataTime = new Date();
return result;
}
@@ -398,6 +419,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
if (Config.logPumpComm)
log.debug("Canceling extended basal: " + result);
MainApp.bus().post(new EventVirtualPumpUpdateGui());
+ lastDataTime = new Date();
return result;
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/events/EventVirtualPumpUpdateGui.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/events/EventVirtualPumpUpdateGui.java
similarity index 57%
rename from app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/events/EventVirtualPumpUpdateGui.java
rename to app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/events/EventVirtualPumpUpdateGui.java
index 4892ae33eb..110e0f4a56 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/VirtualPump/events/EventVirtualPumpUpdateGui.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpVirtual/events/EventVirtualPumpUpdateGui.java
@@ -1,4 +1,4 @@
-package info.nightscout.androidaps.plugins.VirtualPump.events;
+package info.nightscout.androidaps.plugins.PumpVirtual.events;
/**
* Created by mike on 05.08.2016.
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java
index 4097efcdf9..6e9d555268 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SmsCommunicator/SmsCommunicatorPlugin.java
@@ -1,12 +1,12 @@
package info.nightscout.androidaps.plugins.SmsCommunicator;
import android.content.Intent;
-import android.content.SharedPreferences;
import android.content.pm.ResolveInfo;
-import android.preference.PreferenceManager;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -22,21 +22,23 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.Services.Intents;
import info.nightscout.androidaps.data.GlucoseStatus;
+import info.nightscout.androidaps.data.IobTotal;
import info.nightscout.androidaps.data.PumpEnactResult;
import info.nightscout.androidaps.db.BgReading;
import info.nightscout.androidaps.events.EventPreferenceChange;
+import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPlugin;
+import info.nightscout.androidaps.plugins.PumpDanaRKorean.DanaRKoreanPlugin;
import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
-import info.nightscout.androidaps.data.IobTotal;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
import info.nightscout.androidaps.plugins.SmsCommunicator.events.EventNewSMS;
import info.nightscout.androidaps.plugins.SmsCommunicator.events.EventSmsCommunicatorUpdateGui;
-import info.nightscout.client.data.NSProfile;
import info.nightscout.utils.DecimalFormatter;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.XdripCalibrations;
@@ -65,6 +67,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
double bolusRequested = 0d;
double tempBasal = 0d;
double calibrationRequested = 0d;
+ int duration = 0;
public Sms(SmsMessage message) {
phoneNumber = message.getOriginatingAddress();
@@ -97,6 +100,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
Sms tempBasalWaitingForConfirmation = null;
Sms bolusWaitingForConfirmation = null;
Sms calibrationWaitingForConfirmation = null;
+ Sms suspendWaitingForConfirmation = null;
Date lastRemoteBolusTime = new Date(0);
ArrayList messages = new ArrayList<>();
@@ -147,6 +151,16 @@ public class SmsCommunicatorPlugin implements PluginBase {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == GENERAL) this.fragmentEnabled = fragmentEnabled;
@@ -159,16 +173,17 @@ public class SmsCommunicatorPlugin implements PluginBase {
@Subscribe
public void processSettings(final EventPreferenceChange ev) {
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
- String settings = sharedPreferences.getString("smscommunicator_allowednumbers", "");
+ if (ev == null || ev.isChanged(R.string.key_smscommunicator_allowednumbers)) {
+ String settings = SP.getString(R.string.key_smscommunicator_allowednumbers, "");
- String pattern = ";";
+ String pattern = ";";
- String[] substrings = settings.split(pattern);
- for (String number : substrings) {
- String cleaned = number.replaceAll("\\s+", "");
- allowedNumbers.add(cleaned);
- log.debug("Found allowed number: " + cleaned);
+ String[] substrings = settings.split(pattern);
+ for (String number : substrings) {
+ String cleaned = number.replaceAll("\\s+", "");
+ allowedNumbers.add(cleaned);
+ log.debug("Found allowed number: " + cleaned);
+ }
}
}
@@ -191,8 +206,6 @@ public class SmsCommunicatorPlugin implements PluginBase {
}
private void processSms(Sms receivedSms) {
- SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
-
if (!isEnabled(PluginBase.GENERAL)) {
log.debug("Ignoring SMS. Plugin disabled.");
return;
@@ -210,7 +223,9 @@ public class SmsCommunicatorPlugin implements PluginBase {
String[] splited = receivedSms.text.split("\\s+");
Double amount = 0d;
Double tempBasal = 0d;
+ int duration = 0;
String passCode = "";
+ boolean remoteCommandsAllowed = SP.getBoolean(R.string.key_smscommunicator_remotecommandsallowed, false);
if (splited.length > 0) {
switch (splited[0].toUpperCase()) {
@@ -244,9 +259,11 @@ public class SmsCommunicatorPlugin implements PluginBase {
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Bg"));
break;
case "LOOP":
switch (splited[1].toUpperCase()) {
+ case "DISABLE":
case "STOP":
LoopPlugin loopPlugin = (LoopPlugin) MainApp.getSpecificPlugin(LoopPlugin.class);
if (loopPlugin != null && loopPlugin.isEnabled(PluginBase.LOOP)) {
@@ -255,7 +272,9 @@ public class SmsCommunicatorPlugin implements PluginBase {
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Loop_Stop"));
break;
+ case "ENABLE":
case "START":
loopPlugin = (LoopPlugin) MainApp.getSpecificPlugin(LoopPlugin.class);
if (loopPlugin != null && !loopPlugin.isEnabled(PluginBase.LOOP)) {
@@ -264,18 +283,52 @@ public class SmsCommunicatorPlugin implements PluginBase {
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Loop_Start"));
break;
case "STATUS":
loopPlugin = (LoopPlugin) MainApp.getSpecificPlugin(LoopPlugin.class);
if (loopPlugin != null) {
if (loopPlugin.isEnabled(PluginBase.LOOP)) {
- reply = MainApp.sResources.getString(R.string.smscommunicator_loopisenabled);
+ if (loopPlugin.isSuspended())
+ reply = String.format(MainApp.sResources.getString(R.string.loopsuspendedfor), loopPlugin.minutesToEndOfSuspend());
+ else
+ reply = MainApp.sResources.getString(R.string.smscommunicator_loopisenabled);
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_loopisdisabled);
}
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Loop_Status"));
+ break;
+ case "RESUME":
+ final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+ activeloop.suspendTo(0);
+ MainApp.bus().post(new EventRefreshGui(false));
+ reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_loopresumed));
+ sendSMSToAllNumbers(new Sms(receivedSms.phoneNumber, reply, new Date()));
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Loop_Resume"));
+ break;
+ case "SUSPEND":
+ if (splited.length >= 3)
+ duration = SafeParse.stringToInt(splited[2]);
+ duration = Math.max(0, duration);
+ duration = Math.min(180, duration);
+ if (duration == 0) {
+ reply = MainApp.sResources.getString(R.string.smscommunicator_wrongduration);
+ sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
+ } else if (remoteCommandsAllowed) {
+ passCode = generatePasscode();
+ reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_suspendreplywithcode), duration, passCode);
+ receivedSms.processed = true;
+ resetWaitingMessages();
+ sendSMS(suspendWaitingForConfirmation = new Sms(receivedSms.phoneNumber, reply, new Date(), passCode));
+ suspendWaitingForConfirmation.duration = duration;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Loop_Suspend"));
+ } else {
+ reply = MainApp.sResources.getString(R.string.smscommunicator_remotecommandnotallowed);
+ sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
+ }
break;
}
break;
@@ -289,6 +342,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
reply = "TERATMENTS REFRESH " + q.size() + " receivers";
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Treatments_Refresh"));
break;
}
break;
@@ -301,6 +355,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
reply = "NSCLIENT RESTART " + q.size() + " receivers";
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Nsclient_Restart"));
break;
}
break;
@@ -316,10 +371,10 @@ public class SmsCommunicatorPlugin implements PluginBase {
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
receivedSms.processed = true;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Danar"));
break;
case "BASAL":
if (splited.length > 1) {
- boolean remoteCommandsAllowed = sharedPreferences.getBoolean("smscommunicator_remotecommandsallowed", false);
if (splited[1].toUpperCase().equals("CANCEL") || splited[1].toUpperCase().equals("STOP")) {
if (remoteCommandsAllowed) {
passCode = generatePasscode();
@@ -327,6 +382,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
receivedSms.processed = true;
resetWaitingMessages();
sendSMS(cancelTempBasalWaitingForConfirmation = new Sms(receivedSms.phoneNumber, reply, new Date(), passCode));
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Basal"));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_remotebasalnotallowed);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
@@ -341,6 +397,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
resetWaitingMessages();
sendSMS(tempBasalWaitingForConfirmation = new Sms(receivedSms.phoneNumber, reply, new Date(), passCode));
tempBasalWaitingForConfirmation.tempBasal = tempBasal;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Basal"));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_remotebasalnotallowed);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
@@ -355,7 +412,6 @@ public class SmsCommunicatorPlugin implements PluginBase {
} else if (splited.length > 1) {
amount = SafeParse.stringToDouble(splited[1]);
amount = MainApp.getConfigBuilder().applyBolusConstraints(amount);
- boolean remoteCommandsAllowed = sharedPreferences.getBoolean("smscommunicator_remotecommandsallowed", false);
if (amount > 0d && remoteCommandsAllowed) {
passCode = generatePasscode();
reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_bolusreplywithcode), amount, passCode);
@@ -363,6 +419,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
resetWaitingMessages();
sendSMS(bolusWaitingForConfirmation = new Sms(receivedSms.phoneNumber, reply, new Date(), passCode));
bolusWaitingForConfirmation.bolusRequested = amount;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Bolus"));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_remotebolusnotallowed);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
@@ -372,7 +429,6 @@ public class SmsCommunicatorPlugin implements PluginBase {
case "CAL":
if (splited.length > 1) {
amount = SafeParse.stringToDouble(splited[1]);
- boolean remoteCommandsAllowed = sharedPreferences.getBoolean("smscommunicator_remotecommandsallowed", false);
if (amount > 0d && remoteCommandsAllowed) {
passCode = generatePasscode();
reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_calibrationreplywithcode), amount, passCode);
@@ -380,6 +436,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
resetWaitingMessages();
sendSMS(calibrationWaitingForConfirmation = new Sms(receivedSms.phoneNumber, reply, new Date(), passCode));
calibrationWaitingForConfirmation.calibrationRequested = amount;
+ Answers.getInstance().logCustom(new CustomEvent("SMS_Cal"));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_remotecalibrationnotallowed);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
@@ -393,15 +450,17 @@ public class SmsCommunicatorPlugin implements PluginBase {
PumpInterface pumpInterface = MainApp.getConfigBuilder();
if (pumpInterface != null) {
danaRPlugin = (DanaRPlugin) MainApp.getSpecificPlugin(DanaRPlugin.class);
- PumpEnactResult result = pumpInterface.deliverTreatment(bolusWaitingForConfirmation.bolusRequested, 0, null);
+ PumpEnactResult result = pumpInterface.deliverTreatment(MainApp.getConfigBuilder().getActiveInsulin() ,bolusWaitingForConfirmation.bolusRequested, 0, null);
if (result.success) {
reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_bolusdelivered), result.bolusDelivered);
- if (danaRPlugin != null) reply += "\n" + danaRPlugin.shortStatus(true);
+ if (danaRPlugin != null)
+ reply += "\n" + danaRPlugin.shortStatus(true);
lastRemoteBolusTime = new Date();
sendSMSToAllNumbers(new Sms(receivedSms.phoneNumber, reply, new Date()));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_bolusfailed);
- if (danaRPlugin != null) reply += "\n" + danaRPlugin.shortStatus(true);
+ if (danaRPlugin != null)
+ reply += "\n" + danaRPlugin.shortStatus(true);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
}
@@ -414,11 +473,13 @@ public class SmsCommunicatorPlugin implements PluginBase {
PumpEnactResult result = pumpInterface.setTempBasalAbsolute(tempBasalWaitingForConfirmation.tempBasal, 30);
if (result.success) {
reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_tempbasalset), result.absolute, result.duration);
- if (danaRPlugin != null) reply += "\n" + danaRPlugin.shortStatus(true);
+ if (danaRPlugin != null)
+ reply += "\n" + danaRPlugin.shortStatus(true);
sendSMSToAllNumbers(new Sms(receivedSms.phoneNumber, reply, new Date()));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_tempbasalfailed);
- if (danaRPlugin != null) reply += "\n" + danaRPlugin.shortStatus(true);
+ if (danaRPlugin != null)
+ reply += "\n" + danaRPlugin.shortStatus(true);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
}
@@ -431,11 +492,13 @@ public class SmsCommunicatorPlugin implements PluginBase {
PumpEnactResult result = pumpInterface.cancelTempBasal();
if (result.success) {
reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_tempbasalcanceled));
- if (danaRPlugin != null) reply += "\n" + danaRPlugin.shortStatus(true);
+ if (danaRPlugin != null)
+ reply += "\n" + danaRPlugin.shortStatus(true);
sendSMSToAllNumbers(new Sms(receivedSms.phoneNumber, reply, new Date()));
} else {
reply = MainApp.sResources.getString(R.string.smscommunicator_tempbasalcancelfailed);
- if (danaRPlugin != null) reply += "\n" + danaRPlugin.shortStatus(true);
+ if (danaRPlugin != null)
+ reply += "\n" + danaRPlugin.shortStatus(true);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
}
@@ -450,6 +513,14 @@ public class SmsCommunicatorPlugin implements PluginBase {
reply = MainApp.sResources.getString(R.string.smscommunicator_calibrationfailed);
sendSMS(new Sms(receivedSms.phoneNumber, reply, new Date()));
}
+ } else if (suspendWaitingForConfirmation != null && !suspendWaitingForConfirmation.processed &&
+ suspendWaitingForConfirmation.confirmCode.equals(splited[0]) && new Date().getTime() - suspendWaitingForConfirmation.date.getTime() < CONFIRM_TIMEOUT) {
+ suspendWaitingForConfirmation.processed = true;
+ final LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+ activeloop.suspendTo(new Date().getTime() + suspendWaitingForConfirmation.duration * 60L * 1000);
+ MainApp.bus().post(new EventRefreshGui(false));
+ reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_loopsuspended));
+ sendSMSToAllNumbers(new Sms(receivedSms.phoneNumber, reply, new Date()));
} else {
sendSMS(new Sms(receivedSms.phoneNumber, MainApp.sResources.getString(R.string.smscommunicator_unknowncommand), new Date()));
}
@@ -469,8 +540,8 @@ public class SmsCommunicatorPlugin implements PluginBase {
}
public void sendSMSToAllNumbers(Sms sms) {
- for (int i = 0; i < allowedNumbers.size(); i++) {
- sms.phoneNumber = allowedNumbers.get(i);
+ for (String number : allowedNumbers) {
+ sms.phoneNumber = number;
sendSMS(sms);
}
}
@@ -480,6 +551,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
sms.text = stripAccents(sms.text);
if (sms.text.length() > 140) sms.text = sms.text.substring(0, 139);
try {
+ log.debug("Sending SMS to " + sms.phoneNumber + ": " + sms.text);
smsManager.sendTextMessage(sms.phoneNumber, null, sms.text, null, null);
messages.add(sms);
} catch (IllegalArgumentException e) {
@@ -503,6 +575,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
cancelTempBasalWaitingForConfirmation = null;
bolusWaitingForConfirmation = null;
calibrationWaitingForConfirmation = null;
+ suspendWaitingForConfirmation = null;
}
public static String stripAccents(String s) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceGlimp/SourceGlimpFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceGlimp/SourceGlimpFragment.java
new file mode 100644
index 0000000000..63ab27deee
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceGlimp/SourceGlimpFragment.java
@@ -0,0 +1,14 @@
+package info.nightscout.androidaps.plugins.SourceGlimp;
+
+
+import android.support.v4.app.Fragment;
+
+public class SourceGlimpFragment extends Fragment {
+
+ private static SourceGlimpPlugin sourceGlimpPlugin = new SourceGlimpPlugin();
+
+ public static SourceGlimpPlugin getPlugin() {
+ return sourceGlimpPlugin;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceGlimp/SourceGlimpPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceGlimp/SourceGlimpPlugin.java
new file mode 100644
index 0000000000..3c1248c4de
--- /dev/null
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceGlimp/SourceGlimpPlugin.java
@@ -0,0 +1,72 @@
+package info.nightscout.androidaps.plugins.SourceGlimp;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.interfaces.BgSourceInterface;
+import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.plugins.SourceMM640g.SourceMM640gFragment;
+
+/**
+ * Created by mike on 05.08.2016.
+ */
+public class SourceGlimpPlugin implements PluginBase, BgSourceInterface {
+ boolean fragmentEnabled = false;
+
+ @Override
+ public String getFragmentClass() {
+ return SourceGlimpFragment.class.getName();
+ }
+
+ @Override
+ public int getType() {
+ return PluginBase.BGSOURCE;
+ }
+
+ @Override
+ public String getName() {
+ return MainApp.instance().getString(R.string.Glimp);
+ }
+
+ @Override
+ public String getNameShort() {
+ // use long name as fallback (no tabs)
+ return getName();
+ }
+
+ @Override
+ public boolean isEnabled(int type) {
+ return type == BGSOURCE && fragmentEnabled;
+ }
+
+ @Override
+ public boolean isVisibleInTabs(int type) {
+ return false;
+ }
+
+ @Override
+ public boolean canBeHidden(int type) {
+ return true;
+ }
+
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
+ @Override
+ public void setFragmentEnabled(int type, boolean fragmentEnabled) {
+ if (type == BGSOURCE) this.fragmentEnabled = fragmentEnabled;
+ }
+
+ @Override
+ public void setFragmentVisible(int type, boolean fragmentVisible) {
+
+ }
+
+
+}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gFragment.java
index f43dc6ada7..28bfabf813 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gFragment.java
@@ -3,9 +3,7 @@ package info.nightscout.androidaps.plugins.SourceMM640g;
import android.support.v4.app.Fragment;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-
-public class SourceMM640gFragment extends Fragment implements FragmentBase {
+public class SourceMM640gFragment extends Fragment {
private static SourceMM640gPlugin sourceMM640gPlugin = new SourceMM640gPlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gPlugin.java
index b1d7a52cd0..df8111b5cd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceMM640g/SourceMM640gPlugin.java
@@ -10,7 +10,7 @@ import info.nightscout.androidaps.plugins.SourceNSClient.SourceNSClientFragment;
* Created by mike on 05.08.2016.
*/
public class SourceMM640gPlugin implements PluginBase, BgSourceInterface {
- boolean fragmentEnabled = true;
+ boolean fragmentEnabled = false;
@Override
public String getFragmentClass() {
@@ -48,6 +48,16 @@ public class SourceMM640gPlugin implements PluginBase, BgSourceInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == BGSOURCE) this.fragmentEnabled = fragmentEnabled;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientFragment.java
index c119952112..b2eddc09fc 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientFragment.java
@@ -3,9 +3,7 @@ package info.nightscout.androidaps.plugins.SourceNSClient;
import android.support.v4.app.Fragment;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-
-public class SourceNSClientFragment extends Fragment implements FragmentBase {
+public class SourceNSClientFragment extends Fragment {
private static SourceNSClientPlugin sourceNSClientPlugin = new SourceNSClientPlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientPlugin.java
index 7e38e6dc47..db11ab4ea5 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceNSClient/SourceNSClientPlugin.java
@@ -48,6 +48,16 @@ public class SourceNSClientPlugin implements PluginBase, BgSourceInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == BGSOURCE) this.fragmentEnabled = fragmentEnabled;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripFragment.java
index e3c58f4bf8..c9be1298d2 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripFragment.java
@@ -3,9 +3,7 @@ package info.nightscout.androidaps.plugins.SourceXdrip;
import android.support.v4.app.Fragment;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-
-public class SourceXdripFragment extends Fragment implements FragmentBase {
+public class SourceXdripFragment extends Fragment {
private static SourceXdripPlugin sourceXdripPlugin = new SourceXdripPlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripPlugin.java
index a1a4f01b86..b32040a2e8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/SourceXdrip/SourceXdripPlugin.java
@@ -16,7 +16,7 @@ public class SourceXdripPlugin implements PluginBase, BgSourceInterface {
return SourceNSClientFragment.class.getName();
}
- private static boolean fragmentEnabled = true;
+ private static boolean fragmentEnabled = false;
@Override
public int getType() {
@@ -49,6 +49,16 @@ public class SourceXdripPlugin implements PluginBase, BgSourceInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return false;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == BGSOURCE) this.fragmentEnabled = fragmentEnabled;
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java
index 8317623fd2..fee0d278e8 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsFragment.java
@@ -26,12 +26,11 @@ import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.IobTotal;
import info.nightscout.androidaps.db.TempBasal;
import info.nightscout.androidaps.events.EventTempBasalChange;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
-public class TempBasalsFragment extends Fragment implements FragmentBase {
+public class TempBasalsFragment extends Fragment {
private static Logger log = LoggerFactory.getLogger(TempBasalsFragment.class);
private static TempBasalsPlugin tempBasalsPlugin = new TempBasalsPlugin();
@@ -77,7 +76,7 @@ public class TempBasalsFragment extends Fragment implements FragmentBase {
holder.percent.setText(DecimalFormatter.to0Decimal(tempBasal.percent) + "%");
}
holder.realDuration.setText(DecimalFormatter.to0Decimal(tempBasal.getRealDuration()) + " min");
- IobTotal iob = tempBasal.iobCalc(new Date());
+ IobTotal iob = tempBasal.iobCalc(new Date().getTime());
holder.iob.setText(DecimalFormatter.to2Decimal(iob.basaliob) + " U");
holder.netInsulin.setText(DecimalFormatter.to2Decimal(iob.netInsulin) + " U");
holder.netRatio.setText(DecimalFormatter.to2Decimal(iob.netRatio) + " U/h");
@@ -86,7 +85,7 @@ public class TempBasalsFragment extends Fragment implements FragmentBase {
holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.colorInProgress));
else if (tempBasal.timeEnd == null)
holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.colorNotEnded));
- else if (tempBasal.iobCalc(new Date()).basaliob != 0)
+ else if (tempBasal.iobCalc(new Date().getTime()).basaliob != 0)
holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.colorAffectingIOB));
else
holder.dateLinearLayout.setBackgroundColor(ContextCompat.getColor(MainApp.instance(), R.color.cardColorBackground));
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsPlugin.java
index 058d5a7e0b..d398ddfad6 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/TempBasals/TempBasalsPlugin.java
@@ -87,6 +87,16 @@ public class TempBasalsPlugin implements PluginBase, TempBasalsInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == TEMPBASAL) this.fragmentEnabled = fragmentEnabled;
@@ -128,8 +138,8 @@ public class TempBasalsPlugin implements PluginBase, TempBasalsInterface {
for (int position = list.size() - 1; position >= 0; position--) {
TempBasal t = list.get(position);
boolean update = false;
- if (t.timeEnd == null && t.getPlannedTimeEnd().getTime() < now) {
- t.timeEnd = new Date(t.getPlannedTimeEnd().getTime());
+ if (t.timeEnd == null && t.getPlannedTimeEnd() < now) {
+ t.timeEnd = new Date(t.getPlannedTimeEnd());
if (Config.logTempBasalsCut)
log.debug("Add timeEnd to old record");
update = true;
@@ -137,7 +147,7 @@ public class TempBasalsPlugin implements PluginBase, TempBasalsInterface {
if (position > 0) {
Date startofnewer = list.get(position - 1).timeStart;
if (t.timeEnd == null) {
- t.timeEnd = new Date(Math.min(startofnewer.getTime(), t.getPlannedTimeEnd().getTime()));
+ t.timeEnd = new Date(Math.min(startofnewer.getTime(), t.getPlannedTimeEnd()));
if (Config.logTempBasalsCut)
log.debug("Add timeEnd to old record");
update = true;
@@ -180,19 +190,19 @@ public class TempBasalsPlugin implements PluginBase, TempBasalsInterface {
public IobTotal getCalculationToTime(long time) {
checkForExpired(tempBasals);
checkForExpired(extendedBoluses);
- Date now = new Date(time);
IobTotal total = new IobTotal(time);
for (Integer pos = 0; pos < tempBasals.size(); pos++) {
TempBasal t = tempBasals.get(pos);
if (t.timeStart.getTime() > time) continue;
- IobTotal calc = t.iobCalc(now);
+ IobTotal calc = t.iobCalc(time);
+ //log.debug("BasalIOB " + new Date(time) + " >>> " + calc.basaliob);
total.plus(calc);
}
if (useExtendedBoluses) {
for (Integer pos = 0; pos < extendedBoluses.size(); pos++) {
TempBasal t = extendedBoluses.get(pos);
if (t.timeStart.getTime() > time) continue;
- IobTotal calc = t.iobCalc(now);
+ IobTotal calc = t.iobCalc(time);
total.plus(calc);
}
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangeFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangeFragment.java
index 4bfe4ca74e..13cae1aad0 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangeFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangeFragment.java
@@ -31,10 +31,9 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.Services.Intents;
import info.nightscout.androidaps.db.TempTarget;
-import info.nightscout.androidaps.interfaces.FragmentBase;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.TempTargetRange.events.EventTempTargetRangeChange;
-import info.nightscout.client.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.ToastUtils;
@@ -43,7 +42,7 @@ import info.nightscout.utils.ToastUtils;
* Created by mike on 13/01/17.
*/
-public class TempTargetRangeFragment extends Fragment implements View.OnClickListener, FragmentBase {
+public class TempTargetRangeFragment extends Fragment implements View.OnClickListener {
private static TempTargetRangePlugin tempTargetRangePlugin = new TempTargetRangePlugin();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangePlugin.java
index 08a09aa644..63592f7878 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangePlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/TempTargetRange/TempTargetRangePlugin.java
@@ -19,7 +19,7 @@ import info.nightscout.androidaps.plugins.TempTargetRange.events.EventTempTarget
public class TempTargetRangePlugin implements PluginBase {
- static boolean fragmentEnabled = true;
+ static boolean fragmentEnabled = false;
static boolean fragmentVisible = true;
private static List tempTargets;
@@ -70,6 +70,16 @@ public class TempTargetRangePlugin implements PluginBase {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == GENERAL) {
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java
index 38a4904b56..704d71e61b 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsFragment.java
@@ -21,6 +21,8 @@ import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
+import com.crashlytics.android.answers.Answers;
+import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
@@ -35,13 +37,13 @@ import info.nightscout.androidaps.Services.Intents;
import info.nightscout.androidaps.data.Iob;
import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventTreatmentChange;
-import info.nightscout.androidaps.interfaces.FragmentBase;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.ToastUtils;
-public class TreatmentsFragment extends Fragment implements View.OnClickListener, FragmentBase {
+public class TreatmentsFragment extends Fragment implements View.OnClickListener {
private static Logger log = LoggerFactory.getLogger(TreatmentsFragment.class);
private static TreatmentsPlugin treatmentsPlugin = new TreatmentsPlugin();
@@ -79,12 +81,13 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
if (MainApp.getConfigBuilder() == null || MainApp.getConfigBuilder().getActiveProfile() == null) // app not initialized yet
return;
NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
- if (profile == null)
+ InsulinInterface insulinInterface = MainApp.getConfigBuilder().getActiveInsulin();
+ if (profile == null || insulinInterface == null)
return;
holder.date.setText(DateUtil.dateAndTimeString(treatments.get(position).created_at));
holder.insulin.setText(DecimalFormatter.to2Decimal(treatments.get(position).insulin) + " U");
holder.carbs.setText(DecimalFormatter.to0Decimal(treatments.get(position).carbs) + " g");
- Iob iob = treatments.get(position).iobCalc(new Date(), profile.getDia());
+ Iob iob = insulinInterface.iobCalc(treatments.get(position), new Date().getTime(), profile.getDia());
holder.iob.setText(DecimalFormatter.to2Decimal(iob.iobContrib) + " U");
holder.activity.setText(DecimalFormatter.to3Decimal(iob.activityContrib) + " U");
holder.mealOrCorrection.setText(treatments.get(position).mealBolus ? MainApp.sResources.getString(R.string.mealbolus) : MainApp.sResources.getString(R.string.correctionbous));
@@ -149,6 +152,7 @@ public class TreatmentsFragment extends Fragment implements View.OnClickListener
MainApp.getDbHelper().delete(treatment);
treatmentsPlugin.initializeData();
updateGUI();
+ Answers.getInstance().logCustom(new CustomEvent("RefreshTreatments"));
}
});
builder.setNegativeButton(MainApp.sResources.getString(R.string.cancel), null);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java
index 966a5e7578..d0ba64f124 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Treatments/TreatmentsPlugin.java
@@ -1,18 +1,10 @@
package info.nightscout.androidaps.plugins.Treatments;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
-
-import com.j256.ormlite.dao.Dao;
-import com.j256.ormlite.stmt.PreparedQuery;
-import com.j256.ormlite.stmt.QueryBuilder;
-import com.j256.ormlite.stmt.Where;
import com.squareup.otto.Subscribe;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -21,15 +13,18 @@ import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.Iob;
+import info.nightscout.androidaps.data.IobTotal;
import info.nightscout.androidaps.data.MealData;
import info.nightscout.androidaps.db.Treatment;
import info.nightscout.androidaps.events.EventTreatmentChange;
+import info.nightscout.androidaps.interfaces.InsulinInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
-import info.nightscout.androidaps.data.IobTotal;
import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
-import info.nightscout.client.data.NSProfile;
-import info.nightscout.utils.SafeParse;
+import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData;
+import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
+import info.nightscout.utils.SP;
/**
* Created by mike on 05.08.2016.
@@ -58,7 +53,7 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
@Override
public String getNameShort() {
String name = MainApp.sResources.getString(R.string.treatments_shortname);
- if (!name.trim().isEmpty()){
+ if (!name.trim().isEmpty()) {
//only if translation exists
return name;
}
@@ -81,6 +76,16 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == TREATMENT) this.fragmentEnabled = fragmentEnabled;
@@ -102,7 +107,7 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
}
public void initializeData() {
- double dia = 3;
+ double dia = Constants.defaultDIA;
if (MainApp.getConfigBuilder().getActiveProfile() != null && MainApp.getConfigBuilder().getActiveProfile().getProfile() != null)
dia = MainApp.getConfigBuilder().getActiveProfile().getProfile().getDia();
long fromMills = (long) (new Date().getTime() - 60 * 60 * 1000L * (24 + dia));
@@ -125,25 +130,24 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
@Override
public IobTotal getCalculationToTime(long time) {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
IobTotal total = new IobTotal(time);
if (MainApp.getConfigBuilder() == null || ConfigBuilderPlugin.getActiveProfile() == null) // app not initialized yet
return total;
NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
+ InsulinInterface insulinInterface = MainApp.getConfigBuilder().getActiveInsulin();
if (profile == null)
return total;
Double dia = profile.getDia();
- Date now = new Date(time);
for (Integer pos = 0; pos < treatments.size(); pos++) {
Treatment t = treatments.get(pos);
if (t.created_at.getTime() > time) continue;
- Iob tIOB = t.iobCalc(now, dia);
+ Iob tIOB = insulinInterface.iobCalc(t, time, dia);
total.iob += tIOB.iobContrib;
total.activity += tIOB.activityContrib;
- Iob bIOB = t.iobCalc(now, dia / SafeParse.stringToInt(SP.getString("openapsama_bolussnooze_dia_divisor", "2")));
+ Iob bIOB = insulinInterface.iobCalc(t, time, dia / SP.getInt("openapsama_bolussnooze_dia_divisor", 2));
total.bolussnooze += bIOB.iobContrib;
}
return total;
@@ -161,8 +165,27 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
public MealData getMealData() {
MealData result = new MealData();
+ NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ if (profile == null) return result;
+
+ long now = new Date().getTime();
+ long dia_ago = now - (new Double(1.5d * profile.getDia() * 60 * 60 * 1000l)).longValue();
+
for (Treatment treatment : treatments) {
- result.addTreatment(treatment);
+ long t = treatment.created_at.getTime();
+ if (t > dia_ago && t <= now) {
+ if (treatment.carbs >= 1) {
+ result.carbs += treatment.carbs;
+ }
+ if (treatment.insulin > 0 && treatment.mealBolus) {
+ result.boluses += treatment.insulin;
+ }
+ }
+ }
+
+ AutosensData autosensData = IobCobCalculatorPlugin.getLastAutosensData();
+ if (autosensData != null) {
+ result.mealCOB = autosensData.cob;
}
return result;
}
@@ -172,6 +195,17 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
return treatments;
}
+ @Override
+ public List getTreatments5MinBack(long time) {
+ List in5minback = new ArrayList<>();
+ for (Integer pos = 0; pos < treatments.size(); pos++) {
+ Treatment t = treatments.get(pos);
+ if (t.created_at.getTime() <= time && t.created_at.getTime() > time - 5 * 60 * 1000)
+ in5minback.add(t);
+ }
+ return in5minback;
+ }
+
@Subscribe
public void onStatusEvent(final EventTreatmentChange ev) {
initializeData();
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java
index 8b24be7979..682073d42f 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/ActionStringHandler.java
@@ -1,21 +1,11 @@
package info.nightscout.androidaps.plugins.Wear;
-import android.content.DialogInterface;
-import android.content.SharedPreferences;
-import android.graphics.Color;
import android.os.Handler;
import android.os.HandlerThread;
-import android.preference.PreferenceManager;
-import android.support.annotation.BoolRes;
import android.support.annotation.NonNull;
-import android.support.v7.app.AlertDialog;
-import android.view.View;
import com.j256.ormlite.dao.Dao;
-import org.json.JSONException;
-import org.json.JSONObject;
-
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.util.Date;
@@ -32,15 +22,14 @@ import info.nightscout.androidaps.db.TempTarget;
import info.nightscout.androidaps.interfaces.APSInterface;
import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.plugins.Actions.dialogs.FillDialog;
-import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
-import info.nightscout.androidaps.plugins.Overview.QuickWizard;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.androidaps.plugins.TempTargetRange.TempTargetRangePlugin;
import info.nightscout.androidaps.plugins.TempTargetRange.events.EventTempTargetRangeChange;
-import info.nightscout.client.data.NSProfile;
import info.nightscout.utils.BolusWizard;
import info.nightscout.utils.DateUtil;
import info.nightscout.utils.DecimalFormatter;
+import info.nightscout.utils.SP;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
@@ -56,9 +45,6 @@ public class ActionStringHandler {
private static String lastConfirmActionString = null;
private static BolusWizard lastBolusWizard = null;
- private static SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
-
-
private static HandlerThread handlerThread = new HandlerThread(FillDialog.class.getSimpleName());
static {
handlerThread.start();
@@ -83,11 +69,11 @@ public class ActionStringHandler {
///////////////////////////////////// PRIME/FILL
double amount = 0d;
if ("1".equals(act[1])) {
- amount = SafeParse.stringToDouble(DecimalFormatter.to2Decimal(SafeParse.stringToDouble(sp.getString("fill_button1", "0.3"))));
+ amount = SP.getDouble("fill_button1", 0.3);
} else if ("2".equals(act[1])) {
- amount = SafeParse.stringToDouble(DecimalFormatter.to2Decimal(SafeParse.stringToDouble(sp.getString("fill_button2", "0"))));
+ amount = SP.getDouble("fill_button2", 0d);
} else if ("3".equals(act[1])) {
- amount = SafeParse.stringToDouble(DecimalFormatter.to2Decimal(SafeParse.stringToDouble(sp.getString("fill_button3", "0"))));
+ amount = SP.getDouble("fill_button3", 0d);
} else {
return;
}
@@ -206,7 +192,7 @@ public class ActionStringHandler {
}
DecimalFormat format = new DecimalFormat("0.00");
BolusWizard bolusWizard = new BolusWizard();
- bolusWizard.doCalc(profile.getDefaultProfile(), carbsAfterConstraints, useBG?bgReading.valueToUnits(profile.getUnits()):0d, 0d, useBolusIOB, useBasalIOB);
+ bolusWizard.doCalc(profile.getDefaultProfile(), carbsAfterConstraints, 0d, useBG?bgReading.valueToUnits(profile.getUnits()):0d, 0d, useBolusIOB, useBasalIOB, false, false);
Double insulinAfterConstraints = MainApp.getConfigBuilder().applyBolusConstraints(bolusWizard.calculatedTotalInsulin);
if(insulinAfterConstraints - bolusWizard.calculatedTotalInsulin !=0){
@@ -305,17 +291,17 @@ public class ActionStringHandler {
}
//Default Range/Target
- String maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
- String minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
- String targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
+ Double maxBgDefault = Constants.MAX_BG_DEFAULT_MGDL;
+ Double minBgDefault = Constants.MIN_BG_DEFAULT_MGDL;
+ Double targetBgDefault = Constants.TARGET_BG_DEFAULT_MGDL;
if (!profile.getUnits().equals(Constants.MGDL)) {
maxBgDefault = Constants.MAX_BG_DEFAULT_MMOL;
minBgDefault = Constants.MIN_BG_DEFAULT_MMOL;
targetBgDefault = Constants.TARGET_BG_DEFAULT_MMOL;
}
ret += "DEFAULT RANGE: ";
- ret += sp.getString("openapsma_min_bg", minBgDefault) + " - " + sp.getString("openapsma_max_bg", maxBgDefault);
- ret += " target: " + sp.getString("openapsma_target_bg", targetBgDefault);
+ ret += SP.getDouble("openapsma_min_bg", minBgDefault) + " - " + SP.getDouble("openapsma_max_bg", maxBgDefault);
+ ret += " target: " + SP.getDouble("openapsma_target_bg", targetBgDefault);
return ret;
}
@@ -398,7 +384,7 @@ public class ActionStringHandler {
handler.post(new Runnable() {
@Override
public void run() {
- PumpEnactResult result = MainApp.getConfigBuilder().deliverTreatment(amount, 0, null, false);
+ PumpEnactResult result = MainApp.getConfigBuilder().deliverTreatment(MainApp.getConfigBuilder().getActiveInsulin(), amount, 0, null, false);
if (!result.success) {
sendError(MainApp.sResources.getString(R.string.treatmentdeliveryerror) +
"\n" +
@@ -414,7 +400,7 @@ public class ActionStringHandler {
handler.post(new Runnable() {
@Override
public void run() {
- PumpEnactResult result = MainApp.getConfigBuilder().deliverTreatment(amount, carbs, null, true);
+ PumpEnactResult result = MainApp.getConfigBuilder().deliverTreatment(MainApp.getConfigBuilder().getActiveInsulin(), amount, carbs, null, true);
if (!result.success) {
sendError(MainApp.sResources.getString(R.string.treatmentdeliveryerror) +
"\n" +
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearFragment.java
index 8f4e7f9be2..d243da7d60 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearFragment.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearFragment.java
@@ -8,19 +8,18 @@ import android.view.View;
import android.view.ViewGroup;
import info.nightscout.androidaps.R;
-import info.nightscout.androidaps.interfaces.FragmentBase;
/**
* Created by adrian on 17/11/16.
*/
-public class WearFragment extends Fragment implements FragmentBase {
+public class WearFragment extends Fragment {
private static WearPlugin wearPlugin;
public static WearPlugin getPlugin(Context ctx) {
- if (wearPlugin == null){
+ if (wearPlugin == null) {
wearPlugin = new WearPlugin(ctx);
}
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearPlugin.java
index 96f2b75062..9508908c84 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearPlugin.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/WearPlugin.java
@@ -5,6 +5,7 @@ import android.content.Intent;
import com.squareup.otto.Subscribe;
+import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.events.EventBolusRequested;
@@ -15,7 +16,9 @@ import info.nightscout.androidaps.events.EventRefreshGui;
import info.nightscout.androidaps.events.EventTempBasalChange;
import info.nightscout.androidaps.events.EventTreatmentChange;
import info.nightscout.androidaps.interfaces.PluginBase;
+import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
import info.nightscout.androidaps.plugins.Loop.events.EventNewOpenLoopNotification;
+import info.nightscout.androidaps.plugins.Overview.events.EventDismissBolusprogressIfRunning;
import info.nightscout.androidaps.plugins.Overview.events.EventOverviewBolusProgress;
import info.nightscout.androidaps.plugins.Wear.wearintegration.WatchUpdaterService;
import info.nightscout.utils.ToastUtils;
@@ -26,7 +29,7 @@ import info.nightscout.utils.ToastUtils;
public class WearPlugin implements PluginBase {
- static boolean fragmentEnabled = true;
+ static boolean fragmentEnabled = Config.WEAR;
static boolean fragmentVisible = true;
private static WatchUpdaterService watchUS;
private final Context ctx;
@@ -77,6 +80,16 @@ public class WearPlugin implements PluginBase {
return true;
}
+ @Override
+ public boolean hasFragment() {
+ return true;
+ }
+
+ @Override
+ public boolean showInList(int type) {
+ return true;
+ }
+
@Override
public void setFragmentEnabled(int type, boolean fragmentEnabled) {
if (type == GENERAL) {
@@ -120,8 +133,10 @@ public class WearPlugin implements PluginBase {
@Subscribe
public void onStatusEvent(final EventPreferenceChange ev) {
- //possibly new high or low mark
+ // possibly new high or low mark
resendDataToWatch();
+ // status may be formated differently
+ sendDataToWatch(true, false, false);
}
@Subscribe
@@ -144,6 +159,17 @@ public class WearPlugin implements PluginBase {
sendDataToWatch(false, true, false);
}
+ @Subscribe
+ public void onStatusEvent(final EventRefreshGui ev) {
+
+ LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+ if (activeloop == null) return;
+
+ if(WatchUpdaterService.shouldReportLoopStatus(activeloop.isEnabled(PluginBase.LOOP))) {
+ sendDataToWatch(true, false, false);
+ }
+ }
+
@Subscribe
public void onStatusEvent(final EventOverviewBolusProgress ev) {
@@ -163,6 +189,20 @@ public class WearPlugin implements PluginBase {
}
+ @Subscribe
+ public void onStatusEvent(final EventDismissBolusprogressIfRunning ev) {
+ String status;
+ if(ev.result.success){
+ status = MainApp.sResources.getString(R.string.success);
+ } else {
+ status = MainApp.sResources.getString(R.string.nosuccess);
+ }
+ Intent intent = new Intent(ctx, WatchUpdaterService.class).setAction(WatchUpdaterService.ACTION_SEND_BOLUSPROGRESS);
+ intent.putExtra("progresspercent", 100);
+ intent.putExtra("progressstatus", status);
+ ctx.startService(intent);
+ }
+
public void requestActionConfirmation(String title, String message, String actionstring){
Intent intent = new Intent(ctx, WatchUpdaterService.class).setAction(WatchUpdaterService.ACTION_SEND_ACTIONCONFIRMATIONREQUEST);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java
index fc08941cd3..5df62fd4dd 100644
--- a/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java
+++ b/app/src/main/java/info/nightscout/androidaps/plugins/Wear/wearintegration/WatchUpdaterService.java
@@ -28,12 +28,14 @@ import info.nightscout.androidaps.R;
import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.db.BgReading;
import info.nightscout.androidaps.db.TempBasal;
+import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
import info.nightscout.androidaps.data.IobTotal;
+import info.nightscout.androidaps.plugins.Loop.LoopPlugin;
import info.nightscout.androidaps.plugins.Overview.OverviewPlugin;
import info.nightscout.androidaps.plugins.Wear.ActionStringHandler;
import info.nightscout.androidaps.plugins.Wear.WearPlugin;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
import info.nightscout.utils.DecimalFormatter;
import info.nightscout.utils.SafeParse;
import info.nightscout.utils.ToastUtils;
@@ -66,6 +68,7 @@ public class WatchUpdaterService extends WearableListenerService implements
boolean wear_integration = false;
SharedPreferences mPrefs;
+ private static boolean lastLoopStatus;
@Override
public void onCreate() {
@@ -503,6 +506,15 @@ public class WatchUpdaterService extends WearableListenerService implements
String status = "";
boolean shortString = true;
+ LoopPlugin activeloop = MainApp.getConfigBuilder().getActiveLoop();
+
+ if (activeloop != null && !activeloop.isEnabled(PluginBase.LOOP)) {
+ status += getString(R.string.disabledloop) + "\n";
+ lastLoopStatus = false;
+ } else if (activeloop != null && activeloop.isEnabled(PluginBase.LOOP)) {
+ lastLoopStatus = true;
+ }
+
//Temp basal
PumpInterface pump = MainApp.getConfigBuilder();
@@ -520,9 +532,13 @@ public class WatchUpdaterService extends WearableListenerService implements
IobTotal bolusIob = MainApp.getConfigBuilder().getActiveTreatments().getLastCalculation().round();
MainApp.getConfigBuilder().getActiveTempBasals().updateTotalIOB();
IobTotal basalIob = MainApp.getConfigBuilder().getActiveTempBasals().getLastCalculation().round();
- status += (shortString?"":(getString(R.string.treatments_iob_label_string) + " ")) + DecimalFormatter.to2Decimal(bolusIob.iob + basalIob.basaliob) + "("
- + DecimalFormatter.to2Decimal(bolusIob.iob) + "|"
- + DecimalFormatter.to2Decimal(basalIob.basaliob) + ")";
+ status += (shortString?"":(getString(R.string.treatments_iob_label_string) + " ")) + DecimalFormatter.to2Decimal(bolusIob.iob + basalIob.basaliob);
+
+ if (mPrefs.getBoolean("wear_detailediob", true)) {
+ status += "("
+ + DecimalFormatter.to2Decimal(bolusIob.iob) + "|"
+ + DecimalFormatter.to2Decimal(basalIob.basaliob) + ")";
+ }
PutDataMapRequest dataMapRequest = PutDataMapRequest.create(NEW_STATUS_PATH);
//unique content
@@ -551,6 +567,10 @@ public class WatchUpdaterService extends WearableListenerService implements
public void onConnectionFailed(ConnectionResult connectionResult) {
}
+ public static boolean shouldReportLoopStatus(boolean enabled){
+ return (lastLoopStatus != enabled);
+ }
+
public static int getBatteryLevel(Context context) {
Intent batteryIntent = context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationFragment.java b/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationFragment.java
deleted file mode 100644
index 6834124167..0000000000
--- a/app/src/main/java/info/nightscout/androidaps/plugins/persistentnotification/PersistentNotificationFragment.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package info.nightscout.androidaps.plugins.persistentnotification;
-
-import android.support.v4.app.Fragment;
-
-import info.nightscout.androidaps.interfaces.FragmentBase;
-
-/**
- * Created by adrian on 23/12/16.
- */
-
-public class PersistentNotificationFragment extends Fragment implements FragmentBase {
-
-
-}
diff --git a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java
index a7f3f02f36..5c889b661f 100644
--- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java
+++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java
@@ -18,14 +18,10 @@ import org.slf4j.LoggerFactory;
import java.util.Date;
-import info.nightscout.androidaps.Config;
import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
-import info.nightscout.androidaps.interfaces.PluginBase;
import info.nightscout.androidaps.interfaces.PumpInterface;
-import info.nightscout.androidaps.plugins.DanaR.DanaRPlugin;
-import info.nightscout.androidaps.plugins.DanaRKorean.DanaRKoreanPlugin;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
public class KeepAliveReceiver extends BroadcastReceiver {
private static Logger log = LoggerFactory.getLogger(KeepAliveReceiver.class);
@@ -39,11 +35,11 @@ public class KeepAliveReceiver extends BroadcastReceiver {
final PumpInterface pump = MainApp.getConfigBuilder();
final NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
- if (pump != null && profile != null) {
+ if (pump != null && profile != null && profile.getBasal(NSProfile.secondsFromMidnight()) != null) {
boolean isBasalOutdated = false;
boolean isStatusOutdated = false;
- Date lastConnection = pump.lastStatusTime();
+ Date lastConnection = pump.lastDataTime();
if (lastConnection.getTime() + 30 * 60 * 1000L < new Date().getTime())
isStatusOutdated = true;
if (Math.abs(profile.getBasal(NSProfile.secondsFromMidnight()) - pump.getBaseBasalRate()) > pump.getPumpDescription().basalStep)
@@ -62,7 +58,7 @@ public class KeepAliveReceiver extends BroadcastReceiver {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
- pump.updateStatus("KeepAlive. Status outdated.");
+ pump.refreshDataFromPump("KeepAlive. Status outdated.");
}
});
t.start();
@@ -70,7 +66,7 @@ public class KeepAliveReceiver extends BroadcastReceiver {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
- pump.updateStatus("KeepAlive. Basal outdated.");
+ pump.refreshDataFromPump("KeepAlive. Basal outdated.");
}
});
t.start();
diff --git a/app/src/main/java/info/nightscout/androidaps/tabs/SlidingTabLayout.java b/app/src/main/java/info/nightscout/androidaps/tabs/SlidingTabLayout.java
index 5c1ef3b25f..80424a04f7 100644
--- a/app/src/main/java/info/nightscout/androidaps/tabs/SlidingTabLayout.java
+++ b/app/src/main/java/info/nightscout/androidaps/tabs/SlidingTabLayout.java
@@ -29,6 +29,8 @@ import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import info.nightscout.androidaps.R;
+
/**
* To be used with ViewPager to provide a tab indicator component which give constant feedback as to
* the user's scroll progress.
@@ -95,6 +97,7 @@ public class SlidingTabLayout extends HorizontalScrollView {
mTabStrip = new SlidingTabStrip(context);
addView(mTabStrip, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
+ setBackgroundColor(context.getResources().getColor(R.color.tabBgColor));
}
/**
diff --git a/app/src/main/java/info/nightscout/androidaps/tabs/TabFragment.java b/app/src/main/java/info/nightscout/androidaps/tabs/TabFragment.java
deleted file mode 100644
index 54b6ce217f..0000000000
--- a/app/src/main/java/info/nightscout/androidaps/tabs/TabFragment.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package info.nightscout.androidaps.tabs;
-
-import android.support.v4.app.Fragment;
-
-/**
- * Created by mike on 30.05.2016.
- */
-public abstract class TabFragment extends Fragment {
-
-}
diff --git a/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java b/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java
index cedae6e9d7..4f7b4a7a30 100644
--- a/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java
+++ b/app/src/main/java/info/nightscout/androidaps/tabs/TabPageAdapter.java
@@ -7,6 +7,7 @@ import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
+import android.view.ViewGroup;
import java.util.ArrayList;
@@ -36,6 +37,15 @@ public class TabPageAdapter extends FragmentStatePagerAdapter {
return Fragment.instantiate(context, visibleFragmentList.get(position).getFragmentClass());
}
+ @Override
+ public void finishUpdate(ViewGroup container) {
+ try{
+ super.finishUpdate(container);
+ } catch (NullPointerException nullPointerException){
+ System.out.println("Catch the NullPointerException in FragmentStatePagerAdapter.finishUpdate");
+ }
+ }
+
@Override
public CharSequence getPageTitle(int position) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
@@ -58,4 +68,6 @@ public class TabPageAdapter extends FragmentStatePagerAdapter {
notifyDataSetChanged();
}
}
+
+
}
diff --git a/app/src/main/java/info/nightscout/sampleData/cgm/glucose.json b/app/src/main/java/info/nightscout/sampleData/cgm/glucose.json
deleted file mode 100644
index c4c0130106..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/cgm/glucose.json
+++ /dev/null
@@ -1,15002 +0,0 @@
-[
- {
- "filtered": 217664,
- "direction": "DoubleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:36:41.224000+01:00",
- "sgv": 148,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 191424,
- "delta": -20.713,
- "date": 1483544201224,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153b",
- "type": "sgv",
- "glucose": 148
- },
- {
- "filtered": 226528,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:31:41.395000+01:00",
- "sgv": 169,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 210592,
- "delta": -13.679,
- "date": 1483543901395,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151c",
- "type": "sgv",
- "glucose": 169
- },
- {
- "filtered": 226528,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:31:41.395000+01:00",
- "sgv": 169,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 210592,
- "delta": -20.713,
- "date": 1483543901395,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153c",
- "type": "sgv",
- "glucose": 169
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -4.631,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fc",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -13.679,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151d",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -20.713,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153d",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": 0.173,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14db",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -4.631,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fd",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -13.679,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151e",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -20.713,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153e",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -0.207,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bb",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": 0.173,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14dc",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -4.631,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fe",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -13.679,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151f",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -20.713,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153f",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": 1.348,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149a",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -0.207,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bc",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": 0.173,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14dd",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -4.631,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14ff",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -13.679,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1520",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -20.713,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1540",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 1.936,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1478",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 1.348,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149b",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -0.207,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bd",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 0.173,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14de",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -4.631,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1500",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -13.679,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1521",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -20.713,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1541",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.262,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1459",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.936,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1479",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.348,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149c",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -0.207,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14be",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 0.173,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14df",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -4.631,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1501",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -13.679,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1522",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -20.713,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1542",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -0.658,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1435",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.262,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145a",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.936,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147b",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.348,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149d",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -0.207,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bf",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 0.173,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e0",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -4.631,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1502",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -13.679,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1524",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -20.713,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1543",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 2.933,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1415",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -0.658,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1436",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.262,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145b",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.936,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147a",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.348,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149e",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -0.207,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c0",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 0.173,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e1",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -4.631,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1503",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -13.679,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1523",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -20.713,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1544",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -6.913,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f6",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 2.933,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1416",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -0.658,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1437",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.262,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145c",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.936,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147c",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.348,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149f",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -0.207,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c1",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 0.173,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e2",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -4.631,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1504",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -13.679,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1525",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -20.713,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1545",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -3.87,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d7",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -6.913,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f7",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 2.933,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1417",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -0.658,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1438",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.262,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145d",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.936,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147d",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.348,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a0",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -0.207,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c2",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 0.173,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e3",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -4.631,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1505",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -13.679,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1526",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -20.713,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1546",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -2.869,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b6",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -3.87,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d8",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -6.913,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f9",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 2.933,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1418",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -0.658,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1439",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.262,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145e",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.936,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147e",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.348,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a1",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -0.207,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c3",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 0.173,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e4",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -4.631,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1506",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -13.679,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1527",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -20.713,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1547",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -10.022,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1396",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -2.869,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ba",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -3.87,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d9",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -6.913,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f8",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 2.933,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1419",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -0.658,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143a",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.262,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145f",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.936,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147f",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.348,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a2",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -0.207,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c4",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 0.173,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e5",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -4.631,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1507",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -13.679,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1528",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -20.713,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1548",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -9.038,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1375",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -10.022,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1397",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -2.869,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b7",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -3.87,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13da",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -6.913,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fa",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 2.933,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141a",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -0.658,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143b",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.262,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1460",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.936,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1480",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.348,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a3",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -0.207,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c5",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 0.173,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e6",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -4.631,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1508",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -13.679,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1529",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -20.713,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1549",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 6.496,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1355",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -9.038,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1376",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -10.022,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1398",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -2.869,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b8",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -3.87,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13db",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -6.913,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fb",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 2.933,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141b",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -0.658,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143c",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.262,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1461",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.936,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1481",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.348,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a4",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -0.207,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c6",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 0.173,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e7",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -4.631,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1509",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -13.679,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152a",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -20.713,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154a",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 11.613,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1336",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 6.496,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1356",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -9.038,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1377",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -10.022,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1399",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -2.869,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b9",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -3.87,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13dc",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -6.913,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fc",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 2.933,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141c",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -0.658,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143d",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.262,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1462",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.936,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1482",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.348,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a5",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -0.207,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c7",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 0.173,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e8",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -4.631,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150a",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -13.679,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152b",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -20.713,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154b",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 11.911,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1317",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 11.613,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1337",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 6.496,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1357",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -9.038,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1378",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -10.022,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139a",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -2.869,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bb",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -3.87,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13de",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -6.913,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fd",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 2.933,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141d",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -0.658,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143e",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.262,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1463",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.936,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1483",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.348,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a6",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -0.207,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c8",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 0.173,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e9",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -4.631,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150b",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -13.679,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152c",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -20.713,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154c",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 17.921,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f7",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 11.911,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1318",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 11.613,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1338",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 6.496,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1358",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -9.038,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1379",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -10.022,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139b",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -2.869,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bd",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -3.87,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13dd",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -6.913,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fe",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 2.933,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141e",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -0.658,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143f",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.262,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1464",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.936,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1484",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.348,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a7",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -0.207,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c9",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 0.173,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ea",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -4.631,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150c",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -13.679,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152d",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -20.713,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154d",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 14.55,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12d8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 17.921,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 11.911,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1319",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 11.613,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1339",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 6.496,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1359",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -9.038,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137a",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -10.022,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139c",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -2.869,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bc",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -3.87,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13df",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -6.913,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13ff",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 2.933,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1420",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -0.658,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1440",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.262,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1465",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.936,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1485",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.348,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -0.207,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14ca",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 0.173,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14eb",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -4.631,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150d",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -13.679,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152e",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -20.713,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154e",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 21.457,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 14.55,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12d9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 17.921,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 11.911,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 11.613,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 6.496,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -9.038,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137b",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -10.022,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139d",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -2.869,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13be",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -3.87,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e0",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -6.913,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1400",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 2.933,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -0.658,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1441",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.262,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1466",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.936,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1486",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.348,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14aa",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -0.207,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cb",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 0.173,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ec",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -4.631,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150e",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -13.679,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -20.713,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 16.247,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1297",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 21.457,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ba",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 14.55,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12da",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 17.921,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fa",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 11.911,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 11.613,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 6.496,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -9.038,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137c",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -10.022,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139e",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -2.869,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bf",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -3.87,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e1",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -6.913,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1401",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 2.933,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1421",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -0.658,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1443",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.262,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1467",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.936,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1490",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.348,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a9",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -0.207,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cc",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 0.173,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ed",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -4.631,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150f",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -13.679,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1530",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -20.713,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1551",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 3.904,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1275",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 16.247,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1298",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 21.457,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b8",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 14.55,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12db",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 17.921,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fb",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 11.911,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 11.613,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 6.496,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -9.038,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137d",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -10.022,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139f",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -2.869,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c0",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -3.87,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e3",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -6.913,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1402",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 2.933,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1422",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -0.658,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1442",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.262,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1468",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.936,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148a",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.348,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ab",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -0.207,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cd",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 0.173,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ee",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -4.631,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1510",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -13.679,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1531",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -20.713,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1550",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 5.385,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1252",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 3.904,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1276",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 16.247,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1299",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 21.457,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b7",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 14.55,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12dc",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 17.921,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fc",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 11.911,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 11.613,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 6.496,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -9.038,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137e",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -10.022,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a6",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -2.869,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c1",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -3.87,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e2",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -6.913,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1403",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 2.933,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1423",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -0.658,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1444",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.262,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146b",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.936,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1487",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.348,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ad",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -0.207,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14ce",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 0.173,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ef",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -4.631,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1512",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -13.679,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1532",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -20.713,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1552",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.686,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1233",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 5.385,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1253",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 3.904,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1277",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 16.247,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129a",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 21.457,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bb",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 14.55,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12dd",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 17.921,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fd",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 11.911,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 11.613,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 6.496,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -9.038,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137f",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -10.022,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a3",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -2.869,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c2",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -3.87,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e4",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -6.913,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1404",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 2.933,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1424",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -0.658,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1445",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.262,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1469",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.936,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1488",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.348,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ac",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -0.207,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cf",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 0.173,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f0",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -4.631,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1511",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -13.679,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1533",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -20.713,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1553",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.314,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1213",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.686,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1234",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 5.385,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1254",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 3.904,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1278",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 16.247,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129b",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 21.457,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bc",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 14.55,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12de",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 17.921,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fe",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 11.911,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 11.613,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 6.496,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -9.038,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1380",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -10.022,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a0",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -2.869,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c4",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -3.87,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e5",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -6.913,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1405",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 2.933,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1426",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -0.658,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1446",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.262,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146a",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.936,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1489",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.348,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14af",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -0.207,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d0",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 0.173,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f1",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -4.631,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1513",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -13.679,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1534",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -20.713,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1554",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.554,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.314,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1214",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.686,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1235",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 5.385,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1255",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 3.904,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1279",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 16.247,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129c",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 21.457,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bd",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 14.55,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12df",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 17.921,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12ff",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.911,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1320",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.613,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1340",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 6.496,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1360",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -9.038,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1381",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -10.022,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.869,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.87,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e6",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -6.913,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1406",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.933,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1425",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.658,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1447",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.262,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146c",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.936,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148b",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.348,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ae",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.207,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.173,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -4.631,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1514",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -13.679,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1535",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -20.713,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1555",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.87,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 2.554,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.314,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1215",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.686,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1236",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 5.385,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1256",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 3.904,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127a",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 16.247,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129d",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 21.457,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12be",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 14.55,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e0",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 17.921,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1300",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 11.911,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1321",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 11.613,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1341",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 6.496,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1361",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -9.038,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1382",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -10.022,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -2.869,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c5",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -3.87,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e8",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -6.913,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1407",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 2.933,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1427",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -0.658,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1448",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.262,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146d",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.936,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148c",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.348,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b0",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -0.207,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 0.173,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f3",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -4.631,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1515",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -13.679,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1536",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -20.713,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1556",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 0.069,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.87,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 2.554,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.314,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1216",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.686,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1237",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 5.385,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1257",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 3.904,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 16.247,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 21.457,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bf",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 14.55,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 17.921,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1301",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 11.911,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1322",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 11.613,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1343",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 6.496,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1362",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -9.038,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1383",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -10.022,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -2.869,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c6",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -3.87,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -6.913,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1408",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 2.933,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1428",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -0.658,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1449",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.262,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.936,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148d",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.348,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -0.207,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 0.173,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -4.631,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1517",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -13.679,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1537",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -20.713,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1558",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.207,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1192",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.069,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.87,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 2.554,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.314,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1217",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.686,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1238",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 5.385,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1258",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 3.904,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 16.247,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 21.457,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 14.55,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 17.921,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1302",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 11.911,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1323",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 11.613,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1342",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 6.496,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1363",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -9.038,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1384",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -10.022,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -2.869,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -3.87,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e9",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -6.913,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1409",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 2.933,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1429",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -0.658,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.262,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1470",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.936,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.348,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -0.207,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.173,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -4.631,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1516",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -13.679,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1538",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -20.713,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1557",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.177,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1173",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.207,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1193",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.069,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.87,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.554,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.314,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1218",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.686,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1239",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 5.385,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1259",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 3.904,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127d",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 16.247,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 21.457,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 14.55,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 17.921,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1303",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 11.911,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1324",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 11.613,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1344",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 6.496,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1364",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -9.038,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1385",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -10.022,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -2.869,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c8",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -3.87,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ea",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -6.913,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.933,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -0.658,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.262,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.936,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.348,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -0.207,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.173,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f6",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -4.631,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1519",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -13.679,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1539",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.523,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1153",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.177,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1174",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.207,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1194",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.069,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.87,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.554,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.314,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.686,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 5.385,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 3.904,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 16.247,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a1",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 21.457,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 14.55,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 17.921,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1304",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 11.911,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1325",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 11.613,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1345",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 6.496,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1367",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -9.038,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1386",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -10.022,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a8",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -2.869,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ca",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -3.87,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13eb",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -6.913,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140b",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.933,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142b",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -0.658,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.262,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1471",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.936,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1491",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.348,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -0.207,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.173,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f7",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -4.631,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1518",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.597,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1133",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.523,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1154",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.177,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1175",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.207,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1195",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.069,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.87,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.554,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.314,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1219",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.686,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 5.385,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 3.904,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 16.247,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 21.457,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c3",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 14.55,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e5",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 17.921,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1305",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.911,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1326",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.613,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1346",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 6.496,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1365",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -9.038,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1387",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -10.022,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ac",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -2.869,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.87,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ec",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -6.913,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.933,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.658,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.262,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1472",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.936,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1492",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.348,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.207,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.173,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f8",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.658,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1114",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -3.597,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1134",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.523,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1155",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.177,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1176",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 0.207,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1196",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 0.069,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b5",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.87,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.554,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.314,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.686,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123c",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 5.385,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 3.904,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1280",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 16.247,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 21.457,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c4",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 14.55,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e6",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 17.921,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1306",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 11.911,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1328",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 11.613,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1347",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 6.496,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1368",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -9.038,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1388",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -10.022,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a9",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -2.869,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cc",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -3.87,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ed",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -6.913,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140d",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.933,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142d",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -0.658,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.262,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1473",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.936,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1493",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.348,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b4",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -0.207,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.935,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.658,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1115",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -3.597,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1135",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.523,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1156",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.177,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1177",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 0.207,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1197",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 0.069,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.87,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d9",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.554,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f9",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.314,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.686,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123d",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 5.385,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 3.904,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1282",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 16.247,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a4",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 21.457,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c5",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 14.55,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e7",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 17.921,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1307",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 11.911,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1327",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 11.613,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1348",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 6.496,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1366",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -9.038,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -10.022,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ad",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -2.869,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cb",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -3.87,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ee",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -6.913,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.933,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -0.658,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.262,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1474",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.936,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1494",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.348,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b5",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.417,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.935,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.658,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1116",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.597,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1136",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.523,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1157",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.177,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1178",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.207,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1198",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.069,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.87,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11da",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.554,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.314,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.686,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1241",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 5.385,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 3.904,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1281",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 16.247,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a5",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 21.457,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c6",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 14.55,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e8",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 17.921,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1308",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.911,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1329",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.613,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1349",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 6.496,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1369",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -9.038,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1389",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -10.022,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13aa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -2.869,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.87,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ef",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -6.913,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.933,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.658,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1450",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.262,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1475",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.936,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1495",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -1.417,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cb",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.417,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.935,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.658,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1118",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.597,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1137",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.523,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1158",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.177,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 0.207,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1199",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 0.069,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.87,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11db",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.554,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fb",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.314,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.686,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 5.385,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125f",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 3.904,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1283",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 16.247,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a6",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 21.457,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 14.55,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e9",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 17.921,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1309",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 11.911,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 11.613,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134a",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 6.496,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136a",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -9.038,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -10.022,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ab",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -2.869,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ce",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.87,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f2",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -6.913,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1410",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.933,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1430",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -0.658,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1451",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.262,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1476",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 6.609,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ac",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -1.417,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.417,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.935,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.658,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1117",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.597,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1138",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.523,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1159",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.177,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1179",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 0.207,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 0.069,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b9",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.87,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11dc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.554,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.314,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1221",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.686,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 5.385,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1260",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 3.904,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1284",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 16.247,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 21.457,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c8",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 14.55,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ea",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 17.921,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 11.911,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 11.613,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 6.496,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -9.038,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -10.022,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ae",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -2.869,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cf",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.87,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -6.913,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1411",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.933,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1431",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -0.658,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1452",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.069,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108d",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 6.609,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ad",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -1.417,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.417,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d6",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.935,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f6",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.658,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1119",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.597,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1139",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.523,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115a",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.177,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117a",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 0.207,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119b",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 0.069,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11ba",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.87,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11dd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.554,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.314,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121f",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.686,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1240",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 5.385,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1261",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 3.904,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1285",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 16.247,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a8",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 21.457,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c9",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 14.55,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12eb",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 17.921,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130b",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 11.911,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 11.613,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 6.496,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -9.038,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138d",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -10.022,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13af",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -2.869,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d0",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.87,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f1",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -6.913,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1412",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.933,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1432",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.331,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.069,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108e",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 6.609,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ae",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -1.417,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10ce",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.417,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d8",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.935,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f8",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.658,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111a",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.597,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113a",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.523,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115b",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.177,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 0.207,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 0.069,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bb",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.87,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11de",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.554,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fe",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.314,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1220",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.686,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1242",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 5.385,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1262",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 3.904,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1286",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 16.247,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a9",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 21.457,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ca",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 14.55,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ec",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 17.921,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 11.911,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 11.613,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134e",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 6.496,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -9.038,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138f",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -10.022,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b0",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -2.869,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d1",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.87,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f3",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -6.913,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1413",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.516,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.331,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.069,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 6.609,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10af",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -1.417,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cf",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.417,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.935,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.658,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.597,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.523,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.177,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 0.207,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 0.069,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bc",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.87,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11df",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.554,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11ff",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.314,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1222",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.686,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1243",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 5.385,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1263",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 3.904,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1287",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 16.247,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12aa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 21.457,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cb",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 14.55,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ed",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 17.921,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 11.911,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 11.613,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 6.496,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -9.038,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -10.022,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -2.869,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.87,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -1.417,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e102e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.516,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.331,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.069,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1090",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 6.609,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10b0",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.417,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10da",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.935,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fa",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.658,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111d",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.597,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113c",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.523,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115d",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.177,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 0.207,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 0.069,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11be",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.87,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e0",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.554,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1200",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.314,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1223",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.686,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1245",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 5.385,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1264",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 3.904,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1288",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 16.247,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ab",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 21.457,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cc",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 14.55,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ee",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 17.921,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 11.911,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 11.613,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1350",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 6.496,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -9.038,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1390",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -10.022,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b3",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -2.869,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d3",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -2.218,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e100e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -1.417,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e102f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.516,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.331,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1070",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.069,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1091",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 6.609,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.417,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10db",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.935,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fb",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.658,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.597,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.523,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.177,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 0.207,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 0.069,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.87,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.554,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1201",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.314,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1224",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.686,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1244",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 5.385,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1265",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 3.904,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1289",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 16.247,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ac",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 21.457,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 14.55,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ef",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 17.921,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 11.911,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1330",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 11.613,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 6.496,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1370",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -9.038,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1391",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -10.022,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -0.207,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0fef",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -2.218,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e100f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -1.417,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1030",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.516,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1051",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.331,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1071",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.069,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1092",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 6.609,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.417,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10dc",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.935,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fc",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.658,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.597,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.523,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.177,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1180",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 0.207,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a0",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 0.069,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bf",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.87,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.554,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1202",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.314,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1225",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.686,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1246",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 5.385,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1266",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 3.904,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 16.247,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ad",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 21.457,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ce",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 14.55,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f0",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 17.921,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1310",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 11.911,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1331",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 11.613,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1351",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 6.496,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1371",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -9.038,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1392",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -2.237,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -0.207,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff0",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -2.218,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1010",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -1.417,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1031",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.516,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1050",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.331,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1072",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.069,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1093",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 6.609,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.417,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10dd",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.935,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fd",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.658,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.597,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113f",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.523,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1160",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.177,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1182",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 0.207,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 0.069,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c0",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.87,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.554,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1203",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.314,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1226",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.686,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1247",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 5.385,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1267",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 3.904,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 16.247,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ae",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 21.457,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cf",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 14.55,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 17.921,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1311",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 11.911,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1332",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 11.613,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1353",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 6.496,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1372",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -4.355,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -2.237,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -0.207,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -2.218,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1011",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -1.417,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1032",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.516,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1052",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.331,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1073",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.069,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1094",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 6.609,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.417,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10df",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.935,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fe",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.658,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1120",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.597,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1140",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.523,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1161",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.177,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1181",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 0.207,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 0.069,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.87,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.554,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1204",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.314,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1229",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.686,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1248",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 5.385,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1268",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 3.904,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 16.247,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12af",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 21.457,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 14.55,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 17.921,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1312",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 11.911,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1333",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 11.613,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1352",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.002,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdbf3dbab07be5f2e0f93",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -4.355,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.237,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.207,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.218,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1012",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -1.417,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1033",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.516,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1053",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.331,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1074",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.069,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1095",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 6.609,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b5",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.417,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10de",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.935,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10ff",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.658,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1121",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.597,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1141",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.523,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1162",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.177,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1183",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.207,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.069,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.87,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e5",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.554,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1205",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.314,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1228",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.686,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1249",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 5.385,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1269",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 3.904,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128d",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 16.247,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12b0",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 21.457,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 14.55,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 17.921,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1313",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.911,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1334",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 4.079,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdac7dbab07be5f2e0f6e",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.002,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdbf3dbab07be5f2e0f94",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -4.355,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -2.237,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -0.207,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff3",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -2.218,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1013",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -1.417,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1034",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.516,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1054",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.331,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1075",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.069,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e10a1",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 6.609,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b6",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.417,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10e0",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.935,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e1100",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.658,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1122",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.597,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1142",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.523,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1163",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.177,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1184",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 0.207,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 0.069,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c3",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.87,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e7",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.554,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1206",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.314,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1227",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.686,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e124a",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 5.385,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e126a",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 3.904,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128e",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 16.247,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12b1",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 21.457,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d2",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 14.55,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 17.921,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1314",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 161184,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:16:40.916000+01:00",
- "sgv": 118,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163488,
- "delta": 1.071,
- "date": 1483528600916,
- "rssi": 100,
- "_id": "586cd99cdbab07be5f2e0f4f",
- "type": "sgv",
- "glucose": 118
- },
- {
- "filtered": 161184,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:16:40.916000+01:00",
- "sgv": 118,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163488,
- "delta": 4.079,
- "date": 1483528600916,
- "rssi": 100,
- "_id": "586cdac7dbab07be5f2e0f6f",
- "type": "sgv",
- "glucose": 118
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/cgm/ns-glucose.json b/app/src/main/java/info/nightscout/sampleData/cgm/ns-glucose.json
deleted file mode 100644
index c4c0130106..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/cgm/ns-glucose.json
+++ /dev/null
@@ -1,15002 +0,0 @@
-[
- {
- "filtered": 217664,
- "direction": "DoubleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:36:41.224000+01:00",
- "sgv": 148,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 191424,
- "delta": -20.713,
- "date": 1483544201224,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153b",
- "type": "sgv",
- "glucose": 148
- },
- {
- "filtered": 226528,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:31:41.395000+01:00",
- "sgv": 169,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 210592,
- "delta": -13.679,
- "date": 1483543901395,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151c",
- "type": "sgv",
- "glucose": 169
- },
- {
- "filtered": 226528,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:31:41.395000+01:00",
- "sgv": 169,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 210592,
- "delta": -20.713,
- "date": 1483543901395,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153c",
- "type": "sgv",
- "glucose": 169
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -4.631,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fc",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -13.679,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151d",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -20.713,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153d",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": 0.173,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14db",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -4.631,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fd",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -13.679,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151e",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -20.713,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153e",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -0.207,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bb",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": 0.173,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14dc",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -4.631,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fe",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -13.679,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151f",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -20.713,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153f",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": 1.348,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149a",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -0.207,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bc",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": 0.173,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14dd",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -4.631,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14ff",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -13.679,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1520",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -20.713,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1540",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 1.936,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1478",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 1.348,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149b",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -0.207,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bd",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 0.173,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14de",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -4.631,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1500",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -13.679,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1521",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -20.713,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1541",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.262,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1459",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.936,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1479",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.348,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149c",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -0.207,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14be",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 0.173,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14df",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -4.631,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1501",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -13.679,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1522",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -20.713,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1542",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -0.658,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1435",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.262,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145a",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.936,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147b",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.348,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149d",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -0.207,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bf",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 0.173,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e0",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -4.631,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1502",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -13.679,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1524",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -20.713,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1543",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 2.933,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1415",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -0.658,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1436",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.262,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145b",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.936,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147a",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.348,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149e",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -0.207,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c0",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 0.173,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e1",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -4.631,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1503",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -13.679,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1523",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -20.713,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1544",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -6.913,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f6",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 2.933,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1416",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -0.658,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1437",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.262,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145c",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.936,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147c",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.348,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149f",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -0.207,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c1",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 0.173,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e2",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -4.631,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1504",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -13.679,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1525",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -20.713,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1545",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -3.87,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d7",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -6.913,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f7",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 2.933,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1417",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -0.658,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1438",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.262,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145d",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.936,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147d",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.348,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a0",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -0.207,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c2",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 0.173,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e3",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -4.631,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1505",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -13.679,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1526",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -20.713,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1546",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -2.869,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b6",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -3.87,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d8",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -6.913,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f9",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 2.933,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1418",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -0.658,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1439",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.262,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145e",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.936,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147e",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.348,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a1",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -0.207,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c3",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 0.173,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e4",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -4.631,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1506",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -13.679,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1527",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -20.713,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1547",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -10.022,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1396",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -2.869,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ba",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -3.87,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d9",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -6.913,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f8",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 2.933,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1419",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -0.658,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143a",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.262,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145f",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.936,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147f",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.348,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a2",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -0.207,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c4",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 0.173,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e5",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -4.631,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1507",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -13.679,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1528",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -20.713,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1548",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -9.038,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1375",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -10.022,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1397",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -2.869,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b7",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -3.87,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13da",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -6.913,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fa",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 2.933,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141a",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -0.658,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143b",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.262,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1460",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.936,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1480",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.348,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a3",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -0.207,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c5",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 0.173,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e6",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -4.631,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1508",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -13.679,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1529",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -20.713,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1549",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 6.496,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1355",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -9.038,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1376",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -10.022,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1398",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -2.869,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b8",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -3.87,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13db",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -6.913,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fb",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 2.933,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141b",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -0.658,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143c",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.262,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1461",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.936,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1481",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.348,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a4",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -0.207,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c6",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 0.173,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e7",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -4.631,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1509",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -13.679,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152a",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -20.713,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154a",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 11.613,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1336",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 6.496,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1356",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -9.038,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1377",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -10.022,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1399",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -2.869,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b9",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -3.87,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13dc",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -6.913,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fc",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 2.933,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141c",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -0.658,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143d",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.262,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1462",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.936,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1482",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.348,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a5",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -0.207,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c7",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 0.173,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e8",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -4.631,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150a",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -13.679,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152b",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -20.713,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154b",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 11.911,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1317",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 11.613,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1337",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 6.496,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1357",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -9.038,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1378",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -10.022,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139a",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -2.869,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bb",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -3.87,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13de",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -6.913,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fd",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 2.933,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141d",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -0.658,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143e",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.262,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1463",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.936,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1483",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.348,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a6",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -0.207,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c8",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 0.173,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e9",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -4.631,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150b",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -13.679,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152c",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -20.713,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154c",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 17.921,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f7",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 11.911,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1318",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 11.613,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1338",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 6.496,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1358",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -9.038,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1379",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -10.022,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139b",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -2.869,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bd",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -3.87,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13dd",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -6.913,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fe",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 2.933,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141e",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -0.658,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143f",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.262,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1464",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.936,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1484",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.348,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a7",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -0.207,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c9",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 0.173,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ea",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -4.631,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150c",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -13.679,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152d",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -20.713,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154d",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 14.55,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12d8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 17.921,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 11.911,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1319",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 11.613,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1339",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 6.496,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1359",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -9.038,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137a",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -10.022,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139c",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -2.869,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bc",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -3.87,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13df",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -6.913,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13ff",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 2.933,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1420",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -0.658,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1440",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.262,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1465",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.936,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1485",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.348,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -0.207,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14ca",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 0.173,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14eb",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -4.631,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150d",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -13.679,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152e",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -20.713,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154e",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 21.457,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 14.55,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12d9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 17.921,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 11.911,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 11.613,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 6.496,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -9.038,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137b",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -10.022,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139d",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -2.869,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13be",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -3.87,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e0",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -6.913,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1400",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 2.933,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -0.658,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1441",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.262,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1466",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.936,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1486",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.348,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14aa",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -0.207,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cb",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 0.173,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ec",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -4.631,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150e",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -13.679,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -20.713,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 16.247,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1297",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 21.457,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ba",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 14.55,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12da",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 17.921,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fa",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 11.911,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 11.613,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 6.496,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -9.038,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137c",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -10.022,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139e",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -2.869,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bf",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -3.87,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e1",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -6.913,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1401",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 2.933,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1421",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -0.658,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1443",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.262,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1467",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.936,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1490",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.348,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a9",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -0.207,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cc",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 0.173,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ed",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -4.631,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150f",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -13.679,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1530",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -20.713,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1551",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 3.904,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1275",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 16.247,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1298",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 21.457,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b8",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 14.55,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12db",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 17.921,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fb",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 11.911,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 11.613,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 6.496,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -9.038,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137d",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -10.022,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139f",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -2.869,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c0",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -3.87,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e3",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -6.913,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1402",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 2.933,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1422",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -0.658,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1442",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.262,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1468",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.936,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148a",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.348,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ab",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -0.207,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cd",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 0.173,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ee",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -4.631,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1510",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -13.679,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1531",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -20.713,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1550",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 5.385,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1252",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 3.904,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1276",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 16.247,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1299",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 21.457,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b7",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 14.55,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12dc",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 17.921,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fc",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 11.911,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 11.613,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 6.496,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -9.038,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137e",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -10.022,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a6",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -2.869,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c1",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -3.87,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e2",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -6.913,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1403",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 2.933,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1423",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -0.658,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1444",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.262,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146b",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.936,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1487",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.348,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ad",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -0.207,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14ce",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 0.173,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ef",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -4.631,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1512",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -13.679,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1532",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -20.713,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1552",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.686,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1233",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 5.385,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1253",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 3.904,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1277",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 16.247,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129a",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 21.457,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bb",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 14.55,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12dd",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 17.921,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fd",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 11.911,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 11.613,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 6.496,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -9.038,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137f",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -10.022,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a3",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -2.869,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c2",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -3.87,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e4",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -6.913,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1404",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 2.933,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1424",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -0.658,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1445",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.262,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1469",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.936,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1488",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.348,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ac",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -0.207,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cf",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 0.173,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f0",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -4.631,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1511",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -13.679,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1533",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -20.713,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1553",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.314,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1213",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.686,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1234",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 5.385,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1254",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 3.904,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1278",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 16.247,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129b",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 21.457,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bc",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 14.55,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12de",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 17.921,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fe",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 11.911,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 11.613,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 6.496,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -9.038,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1380",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -10.022,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a0",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -2.869,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c4",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -3.87,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e5",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -6.913,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1405",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 2.933,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1426",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -0.658,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1446",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.262,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146a",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.936,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1489",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.348,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14af",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -0.207,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d0",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 0.173,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f1",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -4.631,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1513",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -13.679,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1534",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -20.713,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1554",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.554,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.314,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1214",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.686,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1235",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 5.385,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1255",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 3.904,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1279",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 16.247,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129c",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 21.457,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bd",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 14.55,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12df",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 17.921,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12ff",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.911,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1320",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.613,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1340",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 6.496,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1360",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -9.038,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1381",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -10.022,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.869,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.87,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e6",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -6.913,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1406",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.933,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1425",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.658,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1447",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.262,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146c",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.936,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148b",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.348,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ae",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.207,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.173,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -4.631,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1514",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -13.679,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1535",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -20.713,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1555",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.87,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 2.554,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.314,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1215",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.686,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1236",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 5.385,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1256",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 3.904,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127a",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 16.247,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129d",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 21.457,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12be",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 14.55,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e0",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 17.921,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1300",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 11.911,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1321",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 11.613,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1341",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 6.496,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1361",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -9.038,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1382",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -10.022,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -2.869,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c5",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -3.87,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e8",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -6.913,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1407",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 2.933,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1427",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -0.658,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1448",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.262,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146d",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.936,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148c",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.348,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b0",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -0.207,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 0.173,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f3",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -4.631,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1515",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -13.679,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1536",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -20.713,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1556",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 0.069,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.87,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 2.554,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.314,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1216",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.686,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1237",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 5.385,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1257",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 3.904,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 16.247,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 21.457,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bf",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 14.55,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 17.921,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1301",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 11.911,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1322",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 11.613,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1343",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 6.496,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1362",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -9.038,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1383",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -10.022,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -2.869,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c6",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -3.87,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -6.913,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1408",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 2.933,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1428",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -0.658,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1449",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.262,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.936,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148d",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.348,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -0.207,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 0.173,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -4.631,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1517",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -13.679,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1537",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -20.713,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1558",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.207,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1192",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.069,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.87,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 2.554,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.314,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1217",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.686,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1238",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 5.385,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1258",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 3.904,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 16.247,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 21.457,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 14.55,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 17.921,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1302",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 11.911,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1323",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 11.613,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1342",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 6.496,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1363",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -9.038,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1384",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -10.022,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -2.869,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -3.87,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e9",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -6.913,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1409",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 2.933,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1429",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -0.658,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.262,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1470",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.936,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.348,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -0.207,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.173,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -4.631,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1516",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -13.679,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1538",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -20.713,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1557",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.177,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1173",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.207,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1193",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.069,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.87,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.554,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.314,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1218",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.686,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1239",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 5.385,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1259",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 3.904,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127d",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 16.247,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 21.457,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 14.55,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 17.921,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1303",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 11.911,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1324",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 11.613,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1344",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 6.496,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1364",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -9.038,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1385",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -10.022,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -2.869,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c8",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -3.87,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ea",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -6.913,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.933,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -0.658,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.262,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.936,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.348,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -0.207,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.173,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f6",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -4.631,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1519",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -13.679,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1539",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.523,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1153",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.177,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1174",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.207,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1194",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.069,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.87,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.554,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.314,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.686,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 5.385,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 3.904,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 16.247,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a1",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 21.457,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 14.55,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 17.921,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1304",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 11.911,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1325",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 11.613,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1345",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 6.496,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1367",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -9.038,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1386",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -10.022,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a8",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -2.869,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ca",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -3.87,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13eb",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -6.913,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140b",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.933,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142b",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -0.658,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.262,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1471",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.936,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1491",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.348,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -0.207,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.173,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f7",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -4.631,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1518",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.597,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1133",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.523,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1154",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.177,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1175",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.207,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1195",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.069,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.87,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.554,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.314,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1219",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.686,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 5.385,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 3.904,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 16.247,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 21.457,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c3",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 14.55,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e5",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 17.921,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1305",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.911,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1326",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.613,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1346",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 6.496,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1365",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -9.038,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1387",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -10.022,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ac",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -2.869,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.87,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ec",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -6.913,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.933,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.658,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.262,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1472",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.936,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1492",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.348,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.207,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.173,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f8",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.658,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1114",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -3.597,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1134",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.523,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1155",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.177,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1176",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 0.207,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1196",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 0.069,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b5",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.87,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.554,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.314,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.686,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123c",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 5.385,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 3.904,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1280",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 16.247,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 21.457,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c4",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 14.55,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e6",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 17.921,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1306",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 11.911,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1328",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 11.613,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1347",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 6.496,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1368",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -9.038,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1388",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -10.022,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a9",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -2.869,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cc",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -3.87,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ed",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -6.913,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140d",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.933,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142d",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -0.658,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.262,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1473",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.936,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1493",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.348,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b4",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -0.207,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.935,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.658,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1115",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -3.597,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1135",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.523,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1156",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.177,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1177",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 0.207,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1197",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 0.069,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.87,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d9",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.554,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f9",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.314,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.686,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123d",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 5.385,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 3.904,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1282",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 16.247,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a4",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 21.457,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c5",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 14.55,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e7",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 17.921,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1307",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 11.911,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1327",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 11.613,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1348",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 6.496,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1366",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -9.038,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -10.022,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ad",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -2.869,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cb",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -3.87,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ee",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -6.913,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.933,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -0.658,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.262,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1474",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.936,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1494",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.348,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b5",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.417,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.935,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.658,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1116",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.597,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1136",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.523,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1157",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.177,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1178",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.207,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1198",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.069,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.87,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11da",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.554,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.314,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.686,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1241",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 5.385,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 3.904,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1281",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 16.247,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a5",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 21.457,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c6",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 14.55,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e8",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 17.921,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1308",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.911,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1329",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.613,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1349",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 6.496,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1369",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -9.038,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1389",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -10.022,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13aa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -2.869,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.87,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ef",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -6.913,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.933,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.658,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1450",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.262,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1475",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.936,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1495",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -1.417,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cb",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.417,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.935,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.658,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1118",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.597,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1137",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.523,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1158",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.177,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 0.207,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1199",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 0.069,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.87,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11db",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.554,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fb",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.314,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.686,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 5.385,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125f",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 3.904,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1283",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 16.247,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a6",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 21.457,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 14.55,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e9",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 17.921,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1309",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 11.911,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 11.613,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134a",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 6.496,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136a",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -9.038,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -10.022,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ab",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -2.869,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ce",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.87,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f2",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -6.913,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1410",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.933,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1430",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -0.658,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1451",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.262,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1476",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 6.609,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ac",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -1.417,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.417,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.935,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.658,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1117",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.597,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1138",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.523,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1159",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.177,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1179",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 0.207,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 0.069,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b9",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.87,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11dc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.554,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.314,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1221",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.686,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 5.385,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1260",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 3.904,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1284",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 16.247,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 21.457,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c8",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 14.55,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ea",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 17.921,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 11.911,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 11.613,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 6.496,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -9.038,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -10.022,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ae",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -2.869,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cf",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.87,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -6.913,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1411",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.933,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1431",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -0.658,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1452",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.069,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108d",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 6.609,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ad",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -1.417,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.417,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d6",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.935,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f6",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.658,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1119",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.597,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1139",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.523,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115a",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.177,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117a",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 0.207,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119b",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 0.069,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11ba",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.87,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11dd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.554,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.314,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121f",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.686,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1240",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 5.385,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1261",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 3.904,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1285",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 16.247,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a8",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 21.457,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c9",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 14.55,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12eb",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 17.921,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130b",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 11.911,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 11.613,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 6.496,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -9.038,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138d",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -10.022,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13af",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -2.869,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d0",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.87,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f1",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -6.913,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1412",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.933,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1432",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.331,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.069,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108e",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 6.609,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ae",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -1.417,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10ce",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.417,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d8",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.935,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f8",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.658,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111a",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.597,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113a",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.523,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115b",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.177,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 0.207,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 0.069,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bb",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.87,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11de",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.554,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fe",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.314,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1220",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.686,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1242",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 5.385,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1262",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 3.904,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1286",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 16.247,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a9",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 21.457,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ca",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 14.55,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ec",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 17.921,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 11.911,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 11.613,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134e",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 6.496,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -9.038,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138f",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -10.022,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b0",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -2.869,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d1",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.87,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f3",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -6.913,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1413",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.516,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.331,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.069,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 6.609,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10af",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -1.417,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cf",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.417,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.935,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.658,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.597,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.523,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.177,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 0.207,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 0.069,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bc",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.87,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11df",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.554,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11ff",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.314,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1222",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.686,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1243",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 5.385,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1263",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 3.904,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1287",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 16.247,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12aa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 21.457,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cb",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 14.55,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ed",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 17.921,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 11.911,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 11.613,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 6.496,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -9.038,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -10.022,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -2.869,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.87,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -1.417,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e102e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.516,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.331,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.069,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1090",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 6.609,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10b0",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.417,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10da",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.935,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fa",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.658,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111d",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.597,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113c",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.523,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115d",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.177,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 0.207,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 0.069,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11be",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.87,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e0",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.554,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1200",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.314,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1223",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.686,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1245",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 5.385,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1264",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 3.904,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1288",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 16.247,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ab",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 21.457,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cc",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 14.55,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ee",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 17.921,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 11.911,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 11.613,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1350",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 6.496,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -9.038,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1390",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -10.022,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b3",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -2.869,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d3",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -2.218,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e100e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -1.417,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e102f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.516,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.331,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1070",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.069,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1091",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 6.609,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.417,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10db",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.935,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fb",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.658,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.597,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.523,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.177,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 0.207,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 0.069,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.87,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.554,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1201",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.314,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1224",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.686,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1244",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 5.385,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1265",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 3.904,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1289",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 16.247,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ac",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 21.457,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 14.55,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ef",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 17.921,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 11.911,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1330",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 11.613,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 6.496,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1370",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -9.038,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1391",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -10.022,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -0.207,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0fef",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -2.218,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e100f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -1.417,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1030",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.516,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1051",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.331,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1071",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.069,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1092",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 6.609,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.417,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10dc",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.935,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fc",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.658,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.597,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.523,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.177,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1180",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 0.207,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a0",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 0.069,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bf",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.87,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.554,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1202",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.314,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1225",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.686,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1246",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 5.385,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1266",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 3.904,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 16.247,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ad",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 21.457,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ce",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 14.55,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f0",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 17.921,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1310",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 11.911,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1331",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 11.613,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1351",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 6.496,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1371",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -9.038,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1392",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -2.237,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -0.207,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff0",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -2.218,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1010",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -1.417,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1031",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.516,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1050",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.331,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1072",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.069,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1093",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 6.609,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.417,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10dd",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.935,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fd",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.658,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.597,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113f",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.523,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1160",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.177,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1182",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 0.207,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 0.069,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c0",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.87,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.554,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1203",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.314,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1226",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.686,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1247",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 5.385,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1267",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 3.904,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 16.247,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ae",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 21.457,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cf",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 14.55,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 17.921,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1311",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 11.911,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1332",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 11.613,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1353",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 6.496,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1372",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -4.355,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -2.237,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -0.207,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -2.218,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1011",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -1.417,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1032",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.516,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1052",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.331,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1073",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.069,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1094",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 6.609,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.417,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10df",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.935,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fe",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.658,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1120",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.597,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1140",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.523,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1161",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.177,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1181",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 0.207,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 0.069,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.87,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.554,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1204",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.314,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1229",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.686,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1248",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 5.385,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1268",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 3.904,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 16.247,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12af",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 21.457,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 14.55,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 17.921,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1312",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 11.911,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1333",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 11.613,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1352",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.002,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdbf3dbab07be5f2e0f93",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -4.355,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.237,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.207,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.218,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1012",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -1.417,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1033",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.516,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1053",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.331,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1074",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.069,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1095",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 6.609,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b5",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.417,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10de",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.935,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10ff",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.658,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1121",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.597,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1141",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.523,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1162",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.177,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1183",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.207,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.069,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.87,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e5",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.554,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1205",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.314,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1228",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.686,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1249",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 5.385,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1269",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 3.904,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128d",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 16.247,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12b0",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 21.457,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 14.55,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 17.921,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1313",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.911,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1334",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 4.079,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdac7dbab07be5f2e0f6e",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.002,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdbf3dbab07be5f2e0f94",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -4.355,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -2.237,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -0.207,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff3",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -2.218,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1013",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -1.417,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1034",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.516,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1054",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.331,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1075",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.069,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e10a1",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 6.609,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b6",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.417,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10e0",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.935,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e1100",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.658,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1122",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.597,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1142",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.523,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1163",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.177,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1184",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 0.207,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 0.069,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c3",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.87,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e7",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.554,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1206",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.314,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1227",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.686,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e124a",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 5.385,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e126a",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 3.904,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128e",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 16.247,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12b1",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 21.457,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d2",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 14.55,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 17.921,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1314",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 161184,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:16:40.916000+01:00",
- "sgv": 118,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163488,
- "delta": 1.071,
- "date": 1483528600916,
- "rssi": 100,
- "_id": "586cd99cdbab07be5f2e0f4f",
- "type": "sgv",
- "glucose": 118
- },
- {
- "filtered": 161184,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:16:40.916000+01:00",
- "sgv": 118,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163488,
- "delta": 4.079,
- "date": 1483528600916,
- "rssi": 100,
- "_id": "586cdac7dbab07be5f2e0f6f",
- "type": "sgv",
- "glucose": 118
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/enact/enacted.json b/app/src/main/java/info/nightscout/sampleData/enact/enacted.json
deleted file mode 100644
index c1460545c8..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/enact/enacted.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "bg": 148,
- "temp": "absolute",
- "snoozeBG": 17,
- "recieved": true,
- "predBGs": {
- "IOB": [
- 148,
- 128,
- 109,
- 91,
- 75,
- 59,
- 45,
- 39,
- 39,
- 39,
- 39,
- 39,
- 39
- ]
- },
- "rate": 0.0,
- "reason": "COB: 0, Dev: -64, BGI: -8.24, ISF: 21, Target: 81; Eventual BG -34 < 81, setting -11.1U/hr",
- "COB": 0,
- "eventualBG": -34,
- "timestamp": "2017-01-04T16:37:56.113148",
- "duration": 30,
- "tick": -21,
- "IOB": 5.521
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/enact/suggested.json b/app/src/main/java/info/nightscout/sampleData/enact/suggested.json
deleted file mode 100644
index e5a25dbb3f..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/enact/suggested.json
+++ /dev/null
@@ -1 +0,0 @@
-{"temp":"absolute","bg":148,"tick":-21,"eventualBG":-28,"snoozeBG":16,"predBGs":{"IOB":[148,128,109,92,75,60,46,39,39,39,39,39,39]},"COB":0,"IOB":5.248,"reason":"COB: 0, Dev: -64, BGI: -8.2, ISF: 21, Target: 81; Eventual BG -28 < 81, setting -11.3U/hr, but 28m left and 0 ~ req 0U/hr: no action required"}
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/battery.json b/app/src/main/java/info/nightscout/sampleData/monitor/battery.json
deleted file mode 100644
index 4f4bc03804..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/battery.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "status": "normal",
- "voltage": 1.45
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/carbhistory.json b/app/src/main/java/info/nightscout/sampleData/monitor/carbhistory.json
deleted file mode 100644
index 1169f8d030..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/carbhistory.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"_id":"586caa0edbab07be5f2e0a9d","carbs":60,"ratio":"7","bg":"98","glucose":98,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":98,"_byte[5]":2,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-04T08:53:23 head[2], body[13] op[0x5b]","timestamp":"2017-01-04T08:53:23+01:00","_body":"3c50071e5a025500000000575a","bg_target_high":90,"sensitivity":30,"carb_ratio":7,"food_estimate":8.5,"unabsorbed_insulin_total":0,"correction_estimate":0.2,"carb_input":60,"_head":"5b62","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":8.7,"_date":"1775080411","bg_target_low":90},"timestamp":"2017-01-04T08:53:23+01:00","created_at":"2017-01-04T08:53:23+01:00","eventType":"Carb Correction","notes":"Food estimate 8.5\nCorrection estimate 0.2\nBolus estimate 8.7\nTarget low 90\nTarget high 90\nHypothetical glucose delta 0\nGlucose was: 98","medtronic":"mm://openaps/mm-format-ns-treatments/Carb Correction","enteredBy":"openaps://medtronic/522","insulin":null},{"_id":"586c03acdbab07be5f2df99e","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-03T20:57:24 head[4], body[0] op[0x01]","timestamp":"2017-01-03T20:57:24+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[23], body[0] op[0x5c]","_body":"","_head":"5c177894c0b4f8c07a20d0262ad0503ed07c98d0eca2d0","data":[{"amount":3,"age":148},{"amount":4.5,"age":248},{"amount":3.05,"age":288},{"amount":0.95,"age":298},{"amount":2,"age":318},{"amount":3.1,"age":408},{"amount":5.9,"age":418}],"_date":""}],"programmed":7,"duration":0,"amount":7,"_head":"01464600","type":"normal","_date":"1879540311"},"timestamp":"2017-01-03T20:57:24+01:00","created_at":"2017-01-03T20:57:24+01:00","carbs":55,"ratio":"9","bg":"90","glucose":90,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":90,"_byte[5]":0,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-03T20:57:24 head[2], body[13] op[0x5b]","timestamp":"2017-01-03T20:57:24+01:00","_body":"3750091e5a003d000004003d5a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":6.1,"unabsorbed_insulin_total":0.4,"correction_estimate":0,"carb_input":55,"_head":"5b5a","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":6.1,"_date":"1879140311","bg_target_low":90},"eventType":"Meal Bolus","insulin":7,"notes":"Normal bolus with wizard.\nProgrammed bolus 7\nDelivered bolus 7\nPercent delivered: 100%\nFood estimate 6.1\nCorrection estimate 0\nBolus estimate 6.1\nTarget low 90\nTarget high 90\nHypothetical glucose delta -210\nGlucose was: 90","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"586bc94adbab07be5f2df3c1","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-03T16:50:06 head[4], body[0] op[0x01]","timestamp":"2017-01-03T16:50:06+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[17], body[0] op[0x5c]","_body":"","_head":"5c117a29c02633c05047c07ca1c0ecabc0","data":[{"amount":3.05,"age":41},{"amount":0.95,"age":51},{"amount":2,"age":71},{"amount":3.1,"age":161},{"amount":5.9,"age":171}],"_date":""}],"programmed":4.5,"duration":0,"amount":4.5,"_head":"012d2d00","type":"normal","_date":"0672500311"},"timestamp":"2017-01-03T16:50:06+01:00","created_at":"2017-01-03T16:50:06+01:00","carbs":40,"ratio":"9","bg":"111","glucose":111,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":111,"_byte[5]":7,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-03T16:50:06 head[2], body[13] op[0x5b]","timestamp":"2017-01-03T16:50:06+01:00","_body":"2850091e5a072c000035002c5a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":4.4,"unabsorbed_insulin_total":5.3,"correction_estimate":0.7,"carb_input":40,"_head":"5b6f","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":4.4,"_date":"0672100311","bg_target_low":90},"eventType":"Meal Bolus","insulin":4.5,"notes":"Normal bolus with wizard.\nProgrammed bolus 4.5\nDelivered bolus 4.5\nPercent delivered: 100%\nFood estimate 4.4\nCorrection estimate 0.7\nBolus estimate 4.4\nTarget low 90\nTarget high 90\nHypothetical glucose delta -135\nGlucose was: 111","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/"},{"_id":"586ba38cdbab07be5f2def9f","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-03T14:04:52 head[4], body[0] op[0x01]","timestamp":"2017-01-03T14:04:52+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[11], body[0] op[0x5c]","_body":"","_head":"5c0b503bd02263d0326dd1","data":[{"amount":2,"age":315},{"amount":0.85,"age":355},{"amount":1.25,"age":365}],"_date":""}],"programmed":9,"duration":0,"amount":9,"_head":"015a5a00","type":"normal","_date":"34444e0311"},"timestamp":"2017-01-03T14:04:52+01:00","created_at":"2017-01-03T14:04:52+01:00","carbs":70,"ratio":"9","bg":"130","glucose":130,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":130,"_byte[5]":13,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-03T14:04:52 head[2], body[13] op[0x5b]","timestamp":"2017-01-03T14:04:52+01:00","_body":"4650091e5a0d4d000000005a5a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":7.7,"unabsorbed_insulin_total":0,"correction_estimate":1.3,"carb_input":70,"_head":"5b82","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":9,"_date":"34440e0311","bg_target_low":90},"eventType":"Meal Bolus","insulin":9,"notes":"Normal bolus with wizard.\nProgrammed bolus 9\nDelivered bolus 9\nPercent delivered: 100%\nFood estimate 7.7\nCorrection estimate 1.3\nBolus estimate 9\nTarget low 90\nTarget high 90\nHypothetical glucose delta -270\nGlucose was: 130","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"586b4fdbdbab07be5f2de63f","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-03T08:03:47 head[4], body[0] op[0x01]","timestamp":"2017-01-03T08:03:47+01:00","_body":"","programmed":8.5,"_head":"01555500","amount":8.5,"duration":0,"type":"normal","_date":"2f43480311"},"timestamp":"2017-01-03T08:03:47+01:00","created_at":"2017-01-03T08:03:47+01:00","carbs":60,"ratio":"7","bg":"90","glucose":90,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":90,"_byte[5]":0,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-03T08:03:47 head[2], body[13] op[0x5b]","timestamp":"2017-01-03T08:03:47+01:00","_body":"3c50071e5a005500000000555a","bg_target_high":90,"sensitivity":30,"carb_ratio":7,"food_estimate":8.5,"unabsorbed_insulin_total":0,"correction_estimate":0,"carb_input":60,"_head":"5b5a","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":8.5,"_date":"2f43080311","bg_target_low":90},"eventType":"Meal Bolus","insulin":8.5,"notes":"Normal bolus with wizard.\nProgrammed bolus 8.5\nDelivered bolus 8.5\nPercent delivered: 100%\nFood estimate 8.5\nCorrection estimate 0\nBolus estimate 8.5\nTarget low 90\nTarget high 90\nHypothetical glucose delta -255\nGlucose was: 90","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"586aa57edbab07be5f2dd4e9","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-02T20:06:46 head[4], body[0] op[0x01]","timestamp":"2017-01-02T20:06:46+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[29], body[0] op[0x5c]","_body":"","_head":"5c1d501bc02825c0282fc05043c05475c01c7fc05083d028a1d050c9d0","data":[{"amount":2,"age":27},{"amount":1,"age":37},{"amount":1,"age":47},{"amount":2,"age":67},{"amount":2.1,"age":117},{"amount":0.7,"age":127},{"amount":2,"age":387},{"amount":1,"age":417},{"amount":2,"age":457}],"_date":""}],"programmed":3.3,"duration":0,"amount":3.3,"_head":"01212100","type":"normal","_date":"2e46540211"},"timestamp":"2017-01-02T20:06:46+01:00","created_at":"2017-01-02T20:06:46+01:00","carbs":30,"ratio":"9","bg":"110","glucose":110,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":110,"_byte[5]":6,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-02T20:06:46 head[2], body[13] op[0x5b]","timestamp":"2017-01-02T20:06:46+01:00","_body":"1e50091e5a062100003800215a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":3.3,"unabsorbed_insulin_total":5.6,"correction_estimate":0.6,"carb_input":30,"_head":"5b6e","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":3.3,"_date":"2e46140211","bg_target_low":90},"eventType":"Meal Bolus","insulin":3.3,"notes":"Normal bolus with wizard.\nProgrammed bolus 3.3\nDelivered bolus 3.3\nPercent delivered: 100%\nFood estimate 3.3\nCorrection estimate 0.6\nBolus estimate 3.3\nTarget low 90\nTarget high 90\nHypothetical glucose delta -99\nGlucose was: 110","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"586a89d5dbab07be5f2dd231","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-02T18:08:32 head[4], body[0] op[0x01]","timestamp":"2017-01-02T18:08:32+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[11], body[0] op[0x5c]","_body":"","_head":"5c0b500dd0282bd05053d0","data":[{"amount":2,"age":269},{"amount":1,"age":299},{"amount":2,"age":339}],"_date":""}],"programmed":2.8,"duration":0,"amount":2.8,"_head":"011c1c00","type":"normal","_date":"2048520211"},"timestamp":"2017-01-02T18:08:32+01:00","created_at":"2017-01-02T18:08:32+01:00","carbs":25,"ratio":"9","bg":"94","glucose":94,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":94,"_byte[5]":1,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-02T18:08:32 head[2], body[13] op[0x5b]","timestamp":"2017-01-02T18:08:32+01:00","_body":"1950091e5a011b000000001c5a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":2.7,"unabsorbed_insulin_total":0,"correction_estimate":0.1,"carb_input":25,"_head":"5b5e","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":2.8,"_date":"2048120211","bg_target_low":90},"eventType":"Meal Bolus","insulin":2.8,"notes":"Normal bolus with wizard.\nProgrammed bolus 2.8\nDelivered bolus 2.8\nPercent delivered: 100%\nFood estimate 2.7\nCorrection estimate 0.1\nBolus estimate 2.8\nTarget low 90\nTarget high 90\nHypothetical glucose delta -84\nGlucose was: 94","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"5869ed83dbab07be5f2dc96e","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-02T06:58:00 head[4], body[0] op[0x01]","timestamp":"2017-01-02T06:58:00+01:00","_body":"","programmed":8.5,"_head":"01555500","amount":8.5,"duration":0,"type":"normal","_date":"007a460211"},"timestamp":"2017-01-02T06:58:00+01:00","created_at":"2017-01-02T06:58:00+01:00","carbs":60,"ratio":"7","bg":"101","glucose":101,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":101,"_byte[5]":3,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-02T06:58:00 head[2], body[13] op[0x5b]","timestamp":"2017-01-02T06:58:00+01:00","_body":"3c50071e5a035500000000585a","bg_target_high":90,"sensitivity":30,"carb_ratio":7,"food_estimate":8.5,"unabsorbed_insulin_total":0,"correction_estimate":0.3,"carb_input":60,"_head":"5b65","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":8.8,"_date":"007a060211","bg_target_low":90},"eventType":"Meal Bolus","insulin":8.5,"notes":"Normal bolus with wizard.\nProgrammed bolus 8.5\nDelivered bolus 8.5\nPercent delivered: 100%\nFood estimate 8.5\nCorrection estimate 0.3\nBolus estimate 8.8\nTarget low 90\nTarget high 90\nHypothetical glucose delta -255\nGlucose was: 101","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"58694d71dbab07be5f2db898","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-01T19:33:43 head[4], body[0] op[0x01]","timestamp":"2017-01-01T19:33:43+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[26], body[0] op[0x5c]","_body":"","_head":"5c1a0e90c06a9ac078c2c050f4c0501cd028a8d050b2d050bcd0","data":[{"amount":0.35,"age":144},{"amount":2.65,"age":154},{"amount":3,"age":194},{"amount":2,"age":244},{"amount":2,"age":284},{"amount":1,"age":424},{"amount":2,"age":434},{"amount":2,"age":444}],"_date":""}],"programmed":9.5,"duration":0,"amount":9.5,"_head":"015f5f00","type":"normal","_date":"2b61530111"},"timestamp":"2017-01-01T19:33:43+01:00","created_at":"2017-01-01T19:33:43+01:00","carbs":85,"ratio":"9","bg":"105","glucose":105,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":105,"_byte[5]":5,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-01T19:33:43 head[2], body[13] op[0x5b]","timestamp":"2017-01-01T19:33:43+01:00","_body":"5550091e55055e000004005f5a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":9.4,"unabsorbed_insulin_total":0.4,"correction_estimate":0.5,"carb_input":85,"_head":"5b69","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":9.5,"_date":"2b61130111","bg_target_low":85},"eventType":"Meal Bolus","insulin":9.5,"notes":"Normal bolus with wizard.\nProgrammed bolus 9.5\nDelivered bolus 9.5\nPercent delivered: 100%\nFood estimate 9.4\nCorrection estimate 0.5\nBolus estimate 9.5\nTarget low 85\nTarget high 90\nHypothetical glucose delta -285\nGlucose was: 105","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"586914b5dbab07be5f2db2ed","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-01T15:36:56 head[4], body[0] op[0x01]","timestamp":"2017-01-01T15:36:56+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[23], body[0] op[0x5c]","_body":"","_head":"5c17502fc028bbc050c5c050cfc0281fd0c065d0806fd0","data":[{"amount":2,"age":47},{"amount":1,"age":187},{"amount":2,"age":197},{"amount":2,"age":207},{"amount":1,"age":287},{"amount":4.8,"age":357},{"amount":3.2,"age":367}],"_date":""}],"programmed":2,"duration":0,"amount":2,"_head":"01141400","type":"normal","_date":"38644f0111"},"timestamp":"2017-01-01T15:36:56+01:00","created_at":"2017-01-01T15:36:56+01:00","carbs":20,"ratio":"9","bg":"90","glucose":90,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":90,"_byte[5]":0,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-01T15:36:56 head[2], body[13] op[0x5b]","timestamp":"2017-01-01T15:36:56+01:00","_body":"1450091e55001600001100165a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":2.2,"unabsorbed_insulin_total":1.7,"correction_estimate":0,"carb_input":20,"_head":"5b5a","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":2.2,"_date":"38640f0111","bg_target_low":85},"eventType":"Meal Bolus","insulin":2,"notes":"Normal bolus with wizard.\nProgrammed bolus 2\nDelivered bolus 2\nPercent delivered: 100%\nFood estimate 2.2\nCorrection estimate 0\nBolus estimate 2.2\nTarget low 85\nTarget high 90\nHypothetical glucose delta -60\nGlucose was: 90","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"5868c13edbab07be5f2dabdf","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2017-01-01T09:36:51 head[4], body[0] op[0x01]","timestamp":"2017-01-01T09:36:51+01:00","_body":"","programmed":8,"_head":"01505000","amount":8,"duration":0,"type":"normal","_date":"3364490111"},"timestamp":"2017-01-01T09:36:50+01:00","created_at":"2017-01-01T09:36:50+01:00","carbs":60,"ratio":"9","bg":"86","glucose":86,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":86,"_byte[5]":0,"unknown_byte[10]":0,"_description":"BolusWizard 2017-01-01T09:36:50 head[2], body[13] op[0x5b]","timestamp":"2017-01-01T09:36:50+01:00","_body":"3c50091e55004200000000425a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":6.6,"unabsorbed_insulin_total":0,"correction_estimate":0,"carb_input":60,"_head":"5b56","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":6.6,"_date":"3264090111","bg_target_low":85},"eventType":"Meal Bolus","insulin":8,"notes":"Normal bolus with wizard.\nProgrammed bolus 8\nDelivered bolus 8\nPercent delivered: 100%\nFood estimate 6.6\nCorrection estimate 0\nBolus estimate 6.6\nTarget low 85\nTarget high 90\nHypothetical glucose delta -240\nGlucose was: 86","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"},{"_id":"5867f162dbab07be5f2d9631","duration":0,"bolus":{"_type":"Bolus","_description":"Bolus 2016-12-31T18:49:42 head[4], body[0] op[0x01]","timestamp":"2016-12-31T18:49:42+01:00","_body":"","appended":[{"_type":"UnabsorbedInsulinBolus","_description":"UnabsorbedInsulinBolus unknown head[26], body[0] op[0x5c]","_body":"","_head":"5c1a5014c05096c028aac050bec0c804d06440d05090d0509ad0","data":[{"amount":2,"age":20},{"amount":2,"age":150},{"amount":1,"age":170},{"amount":2,"age":190},{"amount":5,"age":260},{"amount":2.5,"age":320},{"amount":2,"age":400},{"amount":2,"age":410}],"_date":""}],"programmed":6.5,"duration":0,"amount":6.5,"_head":"01414100","type":"normal","_date":"ea31521f10"},"timestamp":"2016-12-31T18:49:42+01:00","created_at":"2016-12-31T18:49:42+01:00","carbs":60,"ratio":"9","bg":"120","glucose":120,"glucoseType":"BolusWizard","wizard":{"unknown_byte[8]":0,"_type":"BolusWizard","bg":120,"_byte[5]":10,"unknown_byte[10]":0,"_description":"BolusWizard 2016-12-31T18:49:42 head[2], body[13] op[0x5b]","timestamp":"2016-12-31T18:49:42+01:00","_body":"3c50091e550a4200001700425a","bg_target_high":90,"sensitivity":30,"carb_ratio":9,"food_estimate":6.6,"unabsorbed_insulin_total":2.3,"correction_estimate":1,"carb_input":60,"_head":"5b78","unabsorbed_insulin_count":"??","_byte[7]":0,"bolus_estimate":6.6,"_date":"ea31121f10","bg_target_low":85},"eventType":"Meal Bolus","insulin":6.5,"notes":"Normal bolus with wizard.\nProgrammed bolus 6.5\nDelivered bolus 6.5\nPercent delivered: 100%\nFood estimate 6.6\nCorrection estimate 1\nBolus estimate 6.6\nTarget low 85\nTarget high 90\nHypothetical glucose delta -195\nGlucose was: 120","medtronic":"mm://openaps/mm-format-ns-treatments/Meal Bolus","enteredBy":"openaps://medtronic/522"}]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/clock-zoned.json b/app/src/main/java/info/nightscout/sampleData/monitor/clock-zoned.json
deleted file mode 100644
index d8e4e2f4fe..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/clock-zoned.json
+++ /dev/null
@@ -1 +0,0 @@
-"2017-01-04T16:40:31+01:00"
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/clock.json b/app/src/main/java/info/nightscout/sampleData/monitor/clock.json
deleted file mode 100644
index 233cee13ee..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/clock.json
+++ /dev/null
@@ -1 +0,0 @@
-"2017-01-04T16:40:31"
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/edison-battery.json b/app/src/main/java/info/nightscout/sampleData/monitor/edison-battery.json
deleted file mode 100644
index 15da5e3d65..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/edison-battery.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "battery": 52,
- "batteryVoltage": 3701
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/glucose.json b/app/src/main/java/info/nightscout/sampleData/monitor/glucose.json
deleted file mode 100644
index c4c0130106..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/glucose.json
+++ /dev/null
@@ -1,15002 +0,0 @@
-[
- {
- "filtered": 217664,
- "direction": "DoubleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:36:41.224000+01:00",
- "sgv": 148,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 191424,
- "delta": -20.713,
- "date": 1483544201224,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153b",
- "type": "sgv",
- "glucose": 148
- },
- {
- "filtered": 226528,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:31:41.395000+01:00",
- "sgv": 169,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 210592,
- "delta": -13.679,
- "date": 1483543901395,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151c",
- "type": "sgv",
- "glucose": 169
- },
- {
- "filtered": 226528,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T16:31:41.395000+01:00",
- "sgv": 169,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 210592,
- "delta": -20.713,
- "date": 1483543901395,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153c",
- "type": "sgv",
- "glucose": 169
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -4.631,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fc",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -13.679,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151d",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 230624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:26:41.244000+01:00",
- "sgv": 183,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 223264,
- "delta": -20.713,
- "date": 1483543601244,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153d",
- "type": "sgv",
- "glucose": 183
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": 0.173,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14db",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -4.631,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fd",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -13.679,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151e",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 231808,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:16:41.221000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231840,
- "delta": -20.713,
- "date": 1483543001221,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153e",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -0.207,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bb",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": 0.173,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14dc",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -4.631,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14fe",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -13.679,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e151f",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 230944,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:11:41.253000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231680,
- "delta": -20.713,
- "date": 1483542701253,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e153f",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": 1.348,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149a",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -0.207,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bc",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": 0.173,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14dd",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -4.631,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e14ff",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -13.679,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1520",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 229536,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:06:41.161000+01:00",
- "sgv": 192,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 231872,
- "delta": -20.713,
- "date": 1483542401161,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1540",
- "type": "sgv",
- "glucose": 192
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 1.936,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1478",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 1.348,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149b",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -0.207,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bd",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": 0.173,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14de",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -4.631,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1500",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -13.679,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1521",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 227968,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T16:01:41.177000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230624,
- "delta": -20.713,
- "date": 1483542101177,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1541",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.262,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1459",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.936,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1479",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 1.348,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149c",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -0.207,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14be",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": 0.173,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14df",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -4.631,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1501",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -13.679,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1522",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:56:41.241000+01:00",
- "sgv": 189,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 228832,
- "delta": -20.713,
- "date": 1483541801241,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1542",
- "type": "sgv",
- "glucose": 189
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -0.658,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1435",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.262,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145a",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.936,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147b",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 1.348,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149d",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -0.207,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14bf",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": 0.173,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e0",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -4.631,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1502",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -13.679,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1524",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 226464,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:46:41.285000+01:00",
- "sgv": 186,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 226496,
- "delta": -20.713,
- "date": 1483541201285,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1543",
- "type": "sgv",
- "glucose": 186
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 2.933,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1415",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -0.658,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1436",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.262,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145b",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.936,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147a",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 1.348,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149e",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -0.207,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c0",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": 0.173,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e1",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -4.631,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1503",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -13.679,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1523",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 227840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:41:41.755000+01:00",
- "sgv": 187,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227104,
- "delta": -20.713,
- "date": 1483540901755,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1544",
- "type": "sgv",
- "glucose": 187
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -6.913,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f6",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 2.933,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1416",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -0.658,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1437",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.262,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145c",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.936,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147c",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 1.348,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e149f",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -0.207,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c1",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": 0.173,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e2",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -4.631,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1504",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -13.679,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1525",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 230208,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:36:41.273000+01:00",
- "sgv": 184,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 224384,
- "delta": -20.713,
- "date": 1483540601273,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1545",
- "type": "sgv",
- "glucose": 184
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -3.87,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d7",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -6.913,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f7",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 2.933,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1417",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -0.658,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1438",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.262,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145d",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.936,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147d",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 1.348,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a0",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -0.207,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c2",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": 0.173,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e3",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -4.631,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1505",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -13.679,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1526",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 234784,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:31:41.318000+01:00",
- "sgv": 191,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 230784,
- "delta": -20.713,
- "date": 1483540301318,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1546",
- "type": "sgv",
- "glucose": 191
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -2.869,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b6",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -3.87,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d8",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -6.913,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f9",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 2.933,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1418",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -0.658,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1439",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.262,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145e",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.936,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147e",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 1.348,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a1",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -0.207,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c3",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": 0.173,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e4",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -4.631,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1506",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -13.679,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1527",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 242592,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T15:26:41.288000+01:00",
- "sgv": 195,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 234368,
- "delta": -20.713,
- "date": 1483540001288,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1547",
- "type": "sgv",
- "glucose": 195
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -10.022,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1396",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -2.869,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ba",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -3.87,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13d9",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -6.913,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13f8",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 2.933,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1419",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -0.658,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143a",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.262,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e145f",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.936,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e147f",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 1.348,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a2",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -0.207,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c4",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": 0.173,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e5",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -4.631,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1507",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -13.679,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1528",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 253376,
- "direction": "SingleDown",
- "noise": 1,
- "dateString": "2017-01-04T15:21:41.330000+01:00",
- "sgv": 198,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 237024,
- "delta": -20.713,
- "date": 1483539701330,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1548",
- "type": "sgv",
- "glucose": 198
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -9.038,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1375",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -10.022,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1397",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -2.869,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b7",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -3.87,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13da",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -6.913,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fa",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 2.933,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141a",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -0.658,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143b",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.262,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1460",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.936,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1480",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 1.348,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a3",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -0.207,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c5",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": 0.173,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e6",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -4.631,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1508",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -13.679,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1529",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 269184,
- "direction": "FortyFiveDown",
- "noise": 1,
- "dateString": "2017-01-04T15:11:41.287000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255584,
- "delta": -20.713,
- "date": 1483539101287,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1549",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 6.496,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1355",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -9.038,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1376",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -10.022,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1398",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -2.869,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b8",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -3.87,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13db",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -6.913,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fb",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 2.933,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141b",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -0.658,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143c",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.262,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1461",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.936,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1481",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 1.348,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a4",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -0.207,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c6",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": 0.173,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e7",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -4.631,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1509",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -13.679,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152a",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 261440,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T15:01:41.333000+01:00",
- "sgv": 236,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 272320,
- "delta": -20.713,
- "date": 1483538501333,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154a",
- "type": "sgv",
- "glucose": 236
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 11.613,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1336",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 6.496,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1356",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -9.038,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1377",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -10.022,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e1399",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -2.869,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13b9",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -3.87,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13dc",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -6.913,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fc",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 2.933,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141c",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -0.658,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143d",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.262,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1462",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.936,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1482",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 1.348,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a5",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -0.207,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c7",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": 0.173,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e8",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -4.631,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150a",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -13.679,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152b",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 250240,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:56:41.284000+01:00",
- "sgv": 229,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 266304,
- "delta": -20.713,
- "date": 1483538201284,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154b",
- "type": "sgv",
- "glucose": 229
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 11.911,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1317",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 11.613,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1337",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 6.496,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1357",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -9.038,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1378",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -10.022,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139a",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -2.869,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bb",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -3.87,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13de",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -6.913,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fd",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 2.933,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141d",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -0.658,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143e",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.262,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1463",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.936,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1483",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 1.348,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a6",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -0.207,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c8",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": 0.173,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14e9",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -4.631,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150b",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -13.679,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152c",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 235712,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:51:41.316000+01:00",
- "sgv": 218,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 255552,
- "delta": -20.713,
- "date": 1483537901316,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154c",
- "type": "sgv",
- "glucose": 218
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 17.921,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f7",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 11.911,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1318",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 11.613,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1338",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 6.496,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1358",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -9.038,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1379",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -10.022,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139b",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -2.869,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bd",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -3.87,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13dd",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -6.913,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13fe",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 2.933,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141e",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -0.658,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e143f",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.262,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1464",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.936,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1484",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 1.348,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a7",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -0.207,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14c9",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": 0.173,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ea",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -4.631,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150c",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -13.679,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152d",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 218464,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:46:41.014000+01:00",
- "sgv": 206,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 244512,
- "delta": -20.713,
- "date": 1483537601014,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154d",
- "type": "sgv",
- "glucose": 206
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 14.55,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12d8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 17.921,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 11.911,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1319",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 11.613,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1339",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 6.496,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1359",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -9.038,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137a",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -10.022,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139c",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -2.869,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bc",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -3.87,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13df",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -6.913,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e13ff",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 2.933,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1420",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -0.658,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1440",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.262,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1465",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.936,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1485",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 1.348,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a8",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -0.207,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14ca",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": 0.173,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14eb",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -4.631,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150d",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -13.679,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152e",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 201152,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:41:41.326000+01:00",
- "sgv": 188,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 227936,
- "delta": -20.713,
- "date": 1483537301326,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154e",
- "type": "sgv",
- "glucose": 188
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 21.457,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 14.55,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12d9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 17.921,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12f9",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 11.911,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 11.613,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 6.496,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135a",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -9.038,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137b",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -10.022,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139d",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -2.869,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13be",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -3.87,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e0",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -6.913,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1400",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 2.933,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e141f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -0.658,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1441",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.262,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1466",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.936,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1486",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 1.348,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14aa",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -0.207,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cb",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": 0.173,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ec",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -4.631,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150e",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -13.679,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e152f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 187264,
- "direction": "DoubleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:36:41.325000+01:00",
- "sgv": 173,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 214464,
- "delta": -20.713,
- "date": 1483537001325,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e154f",
- "type": "sgv",
- "glucose": 173
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 16.247,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1297",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 21.457,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ba",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 14.55,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12da",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 17.921,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fa",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 11.911,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 11.613,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 6.496,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135b",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -9.038,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137c",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -10.022,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139e",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -2.869,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13bf",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -3.87,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e1",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -6.913,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1401",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 2.933,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1421",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -0.658,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1443",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.262,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1467",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.936,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1490",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 1.348,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14a9",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -0.207,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cc",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": 0.173,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ed",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -4.631,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e150f",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -13.679,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1530",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 178208,
- "direction": "SingleUp",
- "noise": 1,
- "dateString": "2017-01-04T14:31:41.263000+01:00",
- "sgv": 152,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 194592,
- "delta": -20.713,
- "date": 1483536701263,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1551",
- "type": "sgv",
- "glucose": 152
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 3.904,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1275",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 16.247,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1298",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 21.457,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b8",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 14.55,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12db",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 17.921,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fb",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 11.911,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 11.613,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 6.496,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135c",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -9.038,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137d",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -10.022,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e139f",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -2.869,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c0",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -3.87,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e3",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -6.913,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1402",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 2.933,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1422",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -0.658,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1442",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.262,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1468",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.936,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148a",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 1.348,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ab",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -0.207,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cd",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": 0.173,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ee",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -4.631,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1510",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -13.679,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1531",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 173344,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:26:41.340000+01:00",
- "sgv": 136,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 179552,
- "delta": -20.713,
- "date": 1483536401340,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1550",
- "type": "sgv",
- "glucose": 136
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 5.385,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1252",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 3.904,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1276",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 16.247,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e1299",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 21.457,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12b7",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 14.55,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12dc",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 17.921,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fc",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 11.911,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 11.613,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 6.496,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135d",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -9.038,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137e",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -10.022,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a6",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -2.869,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c1",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -3.87,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e2",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -6.913,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1403",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 2.933,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1423",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -0.658,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1444",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.262,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146b",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.936,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1487",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 1.348,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ad",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -0.207,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14ce",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": 0.173,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14ef",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -4.631,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1512",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -13.679,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1532",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 170496,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T14:21:41.258000+01:00",
- "sgv": 132,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 175936,
- "delta": -20.713,
- "date": 1483536101258,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1552",
- "type": "sgv",
- "glucose": 132
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.686,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1233",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 5.385,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1253",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 3.904,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1277",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 16.247,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129a",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 21.457,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bb",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 14.55,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12dd",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 17.921,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fd",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 11.911,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 11.613,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 6.496,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135e",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -9.038,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e137f",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -10.022,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a3",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -2.869,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c2",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -3.87,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e4",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -6.913,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1404",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 2.933,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1424",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -0.658,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1445",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.262,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1469",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.936,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1488",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 1.348,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ac",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -0.207,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14cf",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": 0.173,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f0",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -4.631,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1511",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -13.679,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1533",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 168288,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:16:42.855000+01:00",
- "sgv": 126,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 170976,
- "delta": -20.713,
- "date": 1483535802855,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1553",
- "type": "sgv",
- "glucose": 126
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.314,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1213",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.686,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1234",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 5.385,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1254",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 3.904,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1278",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 16.247,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129b",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 21.457,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bc",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 14.55,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12de",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 17.921,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12fe",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 11.911,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e131f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 11.613,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e133f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 6.496,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e135f",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -9.038,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1380",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -10.022,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a0",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -2.869,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c4",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -3.87,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e5",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -6.913,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1405",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 2.933,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1426",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -0.658,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1446",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.262,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146a",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.936,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1489",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 1.348,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14af",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -0.207,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d0",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": 0.173,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f1",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -4.631,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1513",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -13.679,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1534",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 166624,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:11:41.468000+01:00",
- "sgv": 125,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 169408,
- "delta": -20.713,
- "date": 1483535501468,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1554",
- "type": "sgv",
- "glucose": 125
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.554,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.314,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1214",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.686,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1235",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 5.385,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1255",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 3.904,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1279",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 16.247,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129c",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 21.457,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bd",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 14.55,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12df",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 17.921,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e12ff",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.911,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1320",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.613,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1340",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 6.496,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1360",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -9.038,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1381",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -10.022,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.869,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.87,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e6",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -6.913,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1406",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.933,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1425",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.658,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1447",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.262,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146c",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.936,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148b",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.348,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14ae",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.207,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.173,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -4.631,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1514",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -13.679,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1535",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165376,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:06:41.718000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -20.713,
- "date": 1483535201718,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1555",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.87,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 2.554,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.314,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1215",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.686,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1236",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 5.385,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1256",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 3.904,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127a",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 16.247,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129d",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 21.457,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12be",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 14.55,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e0",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 17.921,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1300",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 11.911,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1321",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 11.613,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1341",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 6.496,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1361",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -9.038,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1382",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -10.022,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -2.869,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c5",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -3.87,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e8",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -6.913,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1407",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 2.933,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1427",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -0.658,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1448",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.262,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146d",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.936,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148c",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 1.348,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b0",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -0.207,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d2",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": 0.173,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f3",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -4.631,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1515",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -13.679,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1536",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 164416,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T14:01:41.296000+01:00",
- "sgv": 121,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 165824,
- "delta": -20.713,
- "date": 1483534901296,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1556",
- "type": "sgv",
- "glucose": 121
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 0.069,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.87,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 2.554,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.314,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1216",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.686,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1237",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 5.385,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1257",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 3.904,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 16.247,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 21.457,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12bf",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 14.55,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 17.921,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1301",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 11.911,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1322",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 11.613,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1343",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 6.496,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1362",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -9.038,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1383",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -10.022,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -2.869,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c6",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -3.87,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -6.913,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1408",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 2.933,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1428",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -0.658,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1449",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.262,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.936,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148d",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 1.348,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -0.207,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": 0.173,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -4.631,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1517",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -13.679,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1537",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 163328,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:56:41.873000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164096,
- "delta": -20.713,
- "date": 1483534601873,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1558",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.207,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1192",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.069,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.87,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 2.554,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.314,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1217",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.686,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1238",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 5.385,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1258",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 3.904,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 16.247,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e129f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 21.457,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 14.55,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 17.921,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1302",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 11.911,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1323",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 11.613,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1342",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 6.496,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1363",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -9.038,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1384",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -10.022,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -2.869,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -3.87,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13e9",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -6.913,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1409",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 2.933,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1429",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -0.658,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.262,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1470",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.936,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 1.348,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -0.207,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": 0.173,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -4.631,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1516",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -13.679,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1538",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 162144,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:51:41.597000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164032,
- "delta": -20.713,
- "date": 1483534301597,
- "rssi": 100,
- "_id": "586d168bdbab07be5f2e1557",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.177,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1173",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.207,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1193",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.069,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.87,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.554,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.314,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1218",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.686,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1239",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 5.385,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1259",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 3.904,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127d",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 16.247,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 21.457,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 14.55,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 17.921,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1303",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 11.911,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1324",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 11.613,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1344",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 6.496,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1364",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -9.038,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1385",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -10.022,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -2.869,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c8",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -3.87,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ea",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -6.913,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 2.933,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -0.658,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.262,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e146f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.936,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e148e",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 1.348,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b3",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -0.207,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": 0.173,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f6",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -4.631,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1519",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 161280,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:46:41.427000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163840,
- "delta": -13.679,
- "date": 1483534001427,
- "rssi": 100,
- "_id": "586d155fdbab07be5f2e1539",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.523,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1153",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.177,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1174",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.207,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1194",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.069,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.87,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.554,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.314,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.686,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 5.385,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 3.904,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 16.247,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a1",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 21.457,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 14.55,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 17.921,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1304",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 11.911,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1325",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 11.613,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1345",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 6.496,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1367",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -9.038,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1386",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -10.022,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a8",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -2.869,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ca",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -3.87,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13eb",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -6.913,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140b",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 2.933,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142b",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -0.658,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.262,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1471",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.936,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1491",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 1.348,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -0.207,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": 0.173,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f7",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 160896,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:41:41.407000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161824,
- "delta": -4.631,
- "date": 1483533701407,
- "rssi": 100,
- "_id": "586d1433dbab07be5f2e1518",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.597,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1133",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.523,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1154",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.177,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1175",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.207,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1195",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.069,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.87,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.554,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.314,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1219",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.686,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 5.385,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 3.904,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e127f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 16.247,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 21.457,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c3",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 14.55,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e5",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 17.921,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1305",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.911,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1326",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.613,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1346",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 6.496,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1365",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -9.038,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1387",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -10.022,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ac",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -2.869,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13c9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.87,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ec",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -6.913,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.933,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.658,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.262,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1472",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.936,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1492",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.348,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.207,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161152,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:36:41.451000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.173,
- "date": 1483533401451,
- "rssi": 100,
- "_id": "586d11dbdbab07be5f2e14f8",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.658,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1114",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -3.597,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1134",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.523,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1155",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.177,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1176",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 0.207,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1196",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 0.069,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b5",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.87,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.554,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.314,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.686,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123c",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 5.385,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 3.904,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1280",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 16.247,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 21.457,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c4",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 14.55,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e6",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 17.921,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1306",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 11.911,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1328",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 11.613,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1347",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 6.496,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1368",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -9.038,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1388",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -10.022,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13a9",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -2.869,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cc",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -3.87,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ed",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -6.913,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140d",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 2.933,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142d",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -0.658,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.262,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1473",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.936,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1493",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": 1.348,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b4",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 161856,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:31:41.684000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162816,
- "delta": -0.207,
- "date": 1483533101684,
- "rssi": 100,
- "_id": "586d10afdbab07be5f2e14d8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.935,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f3",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.658,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1115",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -3.597,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1135",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.523,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1156",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.177,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1177",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 0.207,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1197",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 0.069,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b6",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.87,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11d9",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.554,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11f9",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.314,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.686,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123d",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 5.385,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125c",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 3.904,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1282",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 16.247,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a4",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 21.457,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c5",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 14.55,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e7",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 17.921,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1307",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 11.911,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1327",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 11.613,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1348",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 6.496,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1366",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -9.038,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -10.022,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ad",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -2.869,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cb",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -3.87,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ee",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -6.913,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 2.933,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": -0.658,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e144f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.262,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1474",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.936,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1494",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 162176,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:26:41.480000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161280,
- "delta": 1.348,
- "date": 1483532801480,
- "rssi": 100,
- "_id": "586d0f83dbab07be5f2e14b5",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.417,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.935,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.658,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1116",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.597,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1136",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.523,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1157",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.177,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1178",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.207,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1198",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 0.069,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b7",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.87,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11da",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.554,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.314,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.686,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1241",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 5.385,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 3.904,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1281",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 16.247,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a5",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 21.457,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c6",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 14.55,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e8",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 17.921,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1308",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.911,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1329",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 11.613,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1349",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 6.496,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1369",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -9.038,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1389",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -10.022,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13aa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -2.869,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -3.87,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13ef",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -6.913,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e140f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 2.933,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e142f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": -0.658,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1450",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.262,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1475",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 161408,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:21:41.420000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159488,
- "delta": 1.936,
- "date": 1483532501420,
- "rssi": 100,
- "_id": "586d0e58dbab07be5f2e1495",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -1.417,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cb",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.417,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.935,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.658,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1118",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.597,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1137",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.523,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1158",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.177,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 0.207,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e1199",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 0.069,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b8",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.87,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11db",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.554,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fb",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.314,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.686,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 5.385,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e125f",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 3.904,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1283",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 16.247,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a6",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 21.457,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c7",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 14.55,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12e9",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 17.921,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1309",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 11.911,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 11.613,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134a",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 6.496,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136a",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -9.038,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -10.022,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ab",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -2.869,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13ce",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -3.87,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f2",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -6.913,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1410",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 2.933,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1430",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": -0.658,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1451",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 159840,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:16:41.043000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162656,
- "delta": 1.262,
- "date": 1483532201043,
- "rssi": 100,
- "_id": "586d0d2cdbab07be5f2e1476",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 6.609,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ac",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -1.417,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.417,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.935,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f5",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.658,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1117",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.597,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1138",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.523,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1159",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.177,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1179",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 0.207,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 0.069,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11b9",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.87,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11dc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.554,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fc",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.314,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1221",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 1.686,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e123f",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 5.385,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1260",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 3.904,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1284",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 16.247,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a7",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 21.457,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c8",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 14.55,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ea",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 17.921,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 11.911,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132a",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 11.613,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 6.496,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136b",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -9.038,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -10.022,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13ae",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -2.869,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13cf",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -3.87,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -6.913,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1411",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": 2.933,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1431",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158592,
- "direction": "FortyFiveUp",
- "noise": 1,
- "dateString": "2017-01-04T13:11:41.044000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163968,
- "delta": -0.658,
- "date": 1483531901044,
- "rssi": 100,
- "_id": "586d0ad3dbab07be5f2e1452",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.069,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108d",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 6.609,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ad",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -1.417,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.417,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d6",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.935,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f6",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.658,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1119",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.597,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1139",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.523,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115a",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.177,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117a",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 0.207,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119b",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 0.069,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11ba",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.87,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11dd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.554,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fd",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.314,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e121f",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 1.686,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1240",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 5.385,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1261",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 3.904,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1285",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 16.247,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a8",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 21.457,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12c9",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 14.55,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12eb",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 17.921,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130b",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 11.911,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 11.613,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 6.496,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136c",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -9.038,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138d",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -10.022,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13af",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -2.869,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d0",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -3.87,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f1",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": -6.913,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1412",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158304,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:06:41.420000+01:00",
- "sgv": 112,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 157856,
- "delta": 2.933,
- "date": 1483531601420,
- "rssi": 100,
- "_id": "586d09a9dbab07be5f2e1432",
- "type": "sgv",
- "glucose": 112
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.331,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.069,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108e",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 6.609,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10ae",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -1.417,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10ce",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.417,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d8",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.935,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f8",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.658,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111a",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.597,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113a",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.523,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115b",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.177,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 0.207,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 0.069,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bb",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.87,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11de",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 2.554,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11fe",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.314,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1220",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 1.686,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1242",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 5.385,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1262",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 3.904,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1286",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 16.247,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12a9",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 21.457,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ca",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 14.55,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ec",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 17.921,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130c",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 11.911,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 11.613,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134e",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": 6.496,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136d",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -9.038,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138f",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -10.022,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b0",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -2.869,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d1",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -3.87,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f3",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 158720,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T13:01:40.848000+01:00",
- "sgv": 111,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 156864,
- "delta": -6.913,
- "date": 1483531300848,
- "rssi": 100,
- "_id": "586d087bdbab07be5f2e1413",
- "type": "sgv",
- "glucose": 111
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.516,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.331,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.069,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e108f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 6.609,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10af",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -1.417,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce7acdbab07be5f2e10cf",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.417,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10d9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.935,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10f9",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.658,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.597,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113b",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.523,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.177,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 0.207,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 0.069,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bc",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.87,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11df",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 2.554,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e11ff",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.314,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1222",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 1.686,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1243",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 5.385,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1263",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 3.904,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1287",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 16.247,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12aa",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 21.457,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cb",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 14.55,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ed",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 17.921,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 11.911,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 11.613,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": 6.496,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -9.038,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e138e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -10.022,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -2.869,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 159264,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:56:42.068000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159936,
- "delta": -3.87,
- "date": 1483531002068,
- "rssi": 100,
- "_id": "586d074fdbab07be5f2e13f4",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -1.417,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e102e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.516,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.331,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e106f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.069,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1090",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 6.609,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce67fdbab07be5f2e10b0",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.417,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10da",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.935,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fa",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.658,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111d",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -3.597,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113c",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.523,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115d",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.177,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 0.207,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 0.069,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11be",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.87,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e0",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 2.554,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1200",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.314,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1223",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 1.686,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1245",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 5.385,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1264",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 3.904,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1288",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 16.247,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ab",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 21.457,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cc",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 14.55,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ee",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 17.921,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130e",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 11.911,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e132f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 11.613,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1350",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": 6.496,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e136f",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -9.038,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1390",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -10.022,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b3",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 160256,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:51:41.141000+01:00",
- "sgv": 113,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 158528,
- "delta": -2.869,
- "date": 1483530701141,
- "rssi": 100,
- "_id": "586d0623dbab07be5f2e13d3",
- "type": "sgv",
- "glucose": 113
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -2.218,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e100e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -1.417,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e102f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.516,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e104f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.331,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1070",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.069,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1091",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 6.609,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.417,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10db",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.935,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fb",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.658,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111c",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -3.597,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113d",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.523,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115e",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.177,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e117f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 0.207,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e119f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 0.069,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.87,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e1",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 2.554,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1201",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.314,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1224",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 1.686,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1244",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 5.385,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1265",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 3.904,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e1289",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 16.247,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ac",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 21.457,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cd",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 14.55,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12ef",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 17.921,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e130f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 11.911,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1330",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 11.613,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e134f",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": 6.496,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1370",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -9.038,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1391",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 162240,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:46:41.170000+01:00",
- "sgv": 114,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 159840,
- "delta": -10.022,
- "date": 1483530401170,
- "rssi": 100,
- "_id": "586d04f8dbab07be5f2e13b2",
- "type": "sgv",
- "glucose": 114
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -0.207,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0fef",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -2.218,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e100f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -1.417,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1030",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.516,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1051",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.331,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1071",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.069,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1092",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 6.609,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.417,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10dc",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.935,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fc",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.658,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -3.597,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113e",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.523,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e115f",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.177,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1180",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 0.207,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a0",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 0.069,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11bf",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.87,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e2",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 2.554,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1202",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.314,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1225",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 1.686,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1246",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 5.385,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1266",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 3.904,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128a",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 16.247,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ad",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 21.457,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12ce",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 14.55,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f0",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 17.921,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1310",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 11.911,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1331",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 11.613,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1351",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": 6.496,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1371",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 164736,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:41:42.052000+01:00",
- "sgv": 116,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 161888,
- "delta": -9.038,
- "date": 1483530102052,
- "rssi": 100,
- "_id": "586d029fdbab07be5f2e1392",
- "type": "sgv",
- "glucose": 116
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -2.237,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -0.207,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff0",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -2.218,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1010",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -1.417,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1031",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.516,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1050",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.331,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1072",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.069,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1093",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 6.609,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.417,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10dd",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.935,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fd",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.658,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e111e",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": -3.597,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e113f",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.523,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1160",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.177,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1182",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 0.207,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 0.069,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c0",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.87,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e3",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 2.554,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1203",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.314,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1226",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 1.686,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1247",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 5.385,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1267",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 3.904,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128b",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 16.247,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12ae",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 21.457,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12cf",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 14.55,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f1",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 17.921,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1311",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 11.911,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1332",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 11.613,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1353",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166528,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:36:42.048000+01:00",
- "sgv": 117,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 162080,
- "delta": 6.496,
- "date": 1483529802048,
- "rssi": 100,
- "_id": "586d0047dbab07be5f2e1372",
- "type": "sgv",
- "glucose": 117
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -4.355,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -2.237,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -0.207,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -2.218,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1011",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -1.417,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1032",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.516,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1052",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.331,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1073",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.069,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1094",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 6.609,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.417,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10df",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.935,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10fe",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.658,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1120",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": -3.597,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1140",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.523,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1161",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.177,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1181",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 0.207,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 0.069,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c1",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.87,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e4",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 2.554,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1204",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.314,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1229",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 1.686,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1248",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 5.385,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1268",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 3.904,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128c",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 16.247,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12af",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 21.457,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d0",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 14.55,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f2",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 17.921,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1312",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 11.911,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1333",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 166656,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:31:40.848000+01:00",
- "sgv": 119,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 164160,
- "delta": 11.613,
- "date": 1483529500848,
- "rssi": 100,
- "_id": "586cff1cdbab07be5f2e1352",
- "type": "sgv",
- "glucose": 119
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.002,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdbf3dbab07be5f2e0f93",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -4.355,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.237,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -0.207,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -2.218,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1012",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -1.417,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1033",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.516,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1053",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.331,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1074",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.069,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e1095",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 6.609,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b5",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.417,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10de",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.935,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e10ff",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.658,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1121",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": -3.597,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1141",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.523,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1162",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.177,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1183",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.207,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 0.069,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c2",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.87,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e5",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 2.554,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1205",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.314,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1228",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 1.686,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e1249",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 5.385,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e1269",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 3.904,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128d",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 16.247,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12b0",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 21.457,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d1",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 14.55,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f3",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 17.921,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1313",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 165216,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:26:40.876000+01:00",
- "sgv": 123,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 168192,
- "delta": 11.911,
- "date": 1483529200876,
- "rssi": 100,
- "_id": "586cfdefdbab07be5f2e1334",
- "type": "sgv",
- "glucose": 123
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 4.079,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdac7dbab07be5f2e0f6e",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.002,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdbf3dbab07be5f2e0f94",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -4.355,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdd20dbab07be5f2e0fb4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -2.237,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cde4cdbab07be5f2e0fd4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -0.207,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cdf78dbab07be5f2e0ff3",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -2.218,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce0a4dbab07be5f2e1013",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -1.417,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce1d1dbab07be5f2e1034",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.516,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce2fddbab07be5f2e1054",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.331,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce42ddbab07be5f2e1075",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.069,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce553dbab07be5f2e10a1",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 6.609,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce680dbab07be5f2e10b6",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.417,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ce8d8dbab07be5f2e10e0",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.935,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cea04dbab07be5f2e1100",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.658,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ceb30dbab07be5f2e1122",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": -3.597,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cec5bdbab07be5f2e1142",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.523,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ced88dbab07be5f2e1163",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.177,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586ceeb3dbab07be5f2e1184",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 0.207,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cefe0dbab07be5f2e11a4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 0.069,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf10cdbab07be5f2e11c3",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.87,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf238dbab07be5f2e11e7",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 2.554,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf364dbab07be5f2e1206",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.314,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf490dbab07be5f2e1227",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 1.686,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf5bddbab07be5f2e124a",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 5.385,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf6e8dbab07be5f2e126a",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 3.904,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf814dbab07be5f2e128e",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 16.247,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cf940dbab07be5f2e12b1",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 21.457,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfa6cdbab07be5f2e12d2",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 14.55,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfb98dbab07be5f2e12f4",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 163104,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:21:40.865000+01:00",
- "sgv": 122,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 167264,
- "delta": 17.921,
- "date": 1483528900865,
- "rssi": 100,
- "_id": "586cfcc3dbab07be5f2e1314",
- "type": "sgv",
- "glucose": 122
- },
- {
- "filtered": 161184,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:16:40.916000+01:00",
- "sgv": 118,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163488,
- "delta": 1.071,
- "date": 1483528600916,
- "rssi": 100,
- "_id": "586cd99cdbab07be5f2e0f4f",
- "type": "sgv",
- "glucose": 118
- },
- {
- "filtered": 161184,
- "direction": "Flat",
- "noise": 1,
- "dateString": "2017-01-04T12:16:40.916000+01:00",
- "sgv": 118,
- "device": "xDrip-DexbridgeWixel",
- "unfiltered": 163488,
- "delta": 4.079,
- "date": 1483528600916,
- "rssi": 100,
- "_id": "586cdac7dbab07be5f2e0f6f",
- "type": "sgv",
- "glucose": 118
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/iob.json b/app/src/main/java/info/nightscout/sampleData/monitor/iob.json
deleted file mode 100644
index f96f4137a9..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/iob.json
+++ /dev/null
@@ -1 +0,0 @@
-[{"iob":5.248,"activity":0.0766,"bolussnooze":1.371,"basaliob":1.751,"netbasalinsulin":4.95,"hightempinsulin":5.05,"time":"2017-01-04T15:40:31.000Z"},{"iob":4.818,"activity":0.076,"bolussnooze":1.057,"basaliob":1.55,"netbasalinsulin":4.85,"hightempinsulin":5,"time":"2017-01-04T15:45:31.000Z"},{"iob":4.391,"activity":0.0753,"bolussnooze":0.785,"basaliob":1.357,"netbasalinsulin":4.65,"hightempinsulin":4.85,"time":"2017-01-04T15:50:31.000Z"},{"iob":3.967,"activity":0.0749,"bolussnooze":0.556,"basaliob":1.171,"netbasalinsulin":4.4,"hightempinsulin":4.65,"time":"2017-01-04T15:55:31.000Z"},{"iob":3.545,"activity":0.0741,"bolussnooze":0.369,"basaliob":0.992,"netbasalinsulin":4.3,"hightempinsulin":4.6,"time":"2017-01-04T16:00:31.000Z"},{"iob":3.139,"activity":0.0713,"bolussnooze":0.224,"basaliob":0.821,"netbasalinsulin":4.25,"hightempinsulin":4.6,"time":"2017-01-04T16:05:31.000Z"},{"iob":2.796,"activity":0.0686,"bolussnooze":0.121,"basaliob":0.709,"netbasalinsulin":4.2,"hightempinsulin":4.55,"time":"2017-01-04T16:10:31.000Z"},{"iob":2.471,"activity":0.0648,"bolussnooze":0.059,"basaliob":0.604,"netbasalinsulin":4.15,"hightempinsulin":4.5,"time":"2017-01-04T16:15:31.000Z"},{"iob":2.173,"activity":0.0594,"bolussnooze":0.019,"basaliob":0.508,"netbasalinsulin":4.05,"hightempinsulin":4.4,"time":"2017-01-04T16:20:31.000Z"},{"iob":1.901,"activity":0.0546,"bolussnooze":0.001,"basaliob":0.42,"netbasalinsulin":4,"hightempinsulin":4.35,"time":"2017-01-04T16:25:31.000Z"},{"iob":1.65,"activity":0.0502,"bolussnooze":0,"basaliob":0.341,"netbasalinsulin":3.95,"hightempinsulin":4.3,"time":"2017-01-04T16:30:31.000Z"},{"iob":1.419,"activity":0.0461,"bolussnooze":0,"basaliob":0.271,"netbasalinsulin":3.85,"hightempinsulin":4.2,"time":"2017-01-04T16:35:31.000Z"},{"iob":1.21,"activity":0.0419,"bolussnooze":0,"basaliob":0.211,"netbasalinsulin":3.65,"hightempinsulin":4,"time":"2017-01-04T16:40:31.000Z"},{"iob":1.022,"activity":0.0377,"bolussnooze":0,"basaliob":0.162,"netbasalinsulin":3.2,"hightempinsulin":3.55,"time":"2017-01-04T16:45:31.000Z"},{"iob":0.854,"activity":0.0336,"bolussnooze":0,"basaliob":0.123,"netbasalinsulin":2.75,"hightempinsulin":3.1,"time":"2017-01-04T16:50:31.000Z"},{"iob":0.705,"activity":0.0298,"bolussnooze":0,"basaliob":0.093,"netbasalinsulin":2.3,"hightempinsulin":2.65,"time":"2017-01-04T16:55:31.000Z"},{"iob":0.573,"activity":0.0263,"bolussnooze":0,"basaliob":0.069,"netbasalinsulin":1.8,"hightempinsulin":2.15,"time":"2017-01-04T17:00:31.000Z"},{"iob":0.458,"activity":0.0232,"bolussnooze":0,"basaliob":0.05,"netbasalinsulin":1.35,"hightempinsulin":1.7,"time":"2017-01-04T17:05:31.000Z"},{"iob":0.356,"activity":0.0203,"bolussnooze":0,"basaliob":0.035,"netbasalinsulin":0.85,"hightempinsulin":1.2,"time":"2017-01-04T17:10:31.000Z"},{"iob":0.268,"activity":0.0178,"bolussnooze":0,"basaliob":0.022,"netbasalinsulin":0.6,"hightempinsulin":0.95,"time":"2017-01-04T17:15:31.000Z"},{"iob":0.191,"activity":0.0153,"bolussnooze":0,"basaliob":0.011,"netbasalinsulin":0.6,"hightempinsulin":0.95,"time":"2017-01-04T17:20:31.000Z"},{"iob":0.127,"activity":0.0129,"bolussnooze":0,"basaliob":0.001,"netbasalinsulin":0.65,"hightempinsulin":0.95,"time":"2017-01-04T17:25:31.000Z"},{"iob":0.075,"activity":0.0104,"bolussnooze":0,"basaliob":-0.007,"netbasalinsulin":0.6,"hightempinsulin":0.9,"time":"2017-01-04T17:30:31.000Z"},{"iob":0.035,"activity":0.008,"bolussnooze":0,"basaliob":-0.013,"netbasalinsulin":0.6,"hightempinsulin":0.9,"time":"2017-01-04T17:35:31.000Z"},{"iob":0.007,"activity":0.0056,"bolussnooze":0,"basaliob":-0.018,"netbasalinsulin":0.6,"hightempinsulin":0.9,"time":"2017-01-04T17:40:31.000Z"},{"iob":-0.01,"activity":0.0034,"bolussnooze":0,"basaliob":-0.021,"netbasalinsulin":0.55,"hightempinsulin":0.85,"time":"2017-01-04T17:45:31.000Z"},{"iob":-0.02,"activity":0.0021,"bolussnooze":0,"basaliob":-0.023,"netbasalinsulin":0.5,"hightempinsulin":0.8,"time":"2017-01-04T17:50:31.000Z"},{"iob":-0.024,"activity":0.0008,"bolussnooze":0,"basaliob":-0.024,"netbasalinsulin":0.45,"hightempinsulin":0.75,"time":"2017-01-04T17:55:31.000Z"},{"iob":-0.023,"activity":-0.0001,"bolussnooze":0,"basaliob":-0.023,"netbasalinsulin":0.45,"hightempinsulin":0.75,"time":"2017-01-04T18:00:31.000Z"},{"iob":-0.022,"activity":-0.0003,"bolussnooze":0,"basaliob":-0.022,"netbasalinsulin":0.4,"hightempinsulin":0.7,"time":"2017-01-04T18:05:31.000Z"},{"iob":-0.019,"activity":-0.0005,"bolussnooze":0,"basaliob":-0.019,"netbasalinsulin":0.35,"hightempinsulin":0.65,"time":"2017-01-04T18:10:31.000Z"},{"iob":-0.016,"activity":-0.0007,"bolussnooze":0,"basaliob":-0.016,"netbasalinsulin":0.2,"hightempinsulin":0.5,"time":"2017-01-04T18:15:31.000Z"},{"iob":-0.012,"activity":-0.0008,"bolussnooze":0,"basaliob":-0.012,"netbasalinsulin":0.05,"hightempinsulin":0.35,"time":"2017-01-04T18:20:31.000Z"},{"iob":-0.008,"activity":-0.0007,"bolussnooze":0,"basaliob":-0.008,"netbasalinsulin":-0.15,"hightempinsulin":0.15,"time":"2017-01-04T18:25:31.000Z"},{"iob":-0.005,"activity":-0.0006,"bolussnooze":0,"basaliob":-0.005,"netbasalinsulin":-0.3,"hightempinsulin":0,"time":"2017-01-04T18:30:31.000Z"},{"iob":-0.003,"activity":-0.0004,"bolussnooze":0,"basaliob":-0.003,"netbasalinsulin":-0.3,"hightempinsulin":0,"time":"2017-01-04T18:35:31.000Z"},{"iob":-0.002,"activity":-0.0003,"bolussnooze":0,"basaliob":-0.002,"netbasalinsulin":-0.25,"hightempinsulin":0,"time":"2017-01-04T18:40:31.000Z"},{"iob":-0.001,"activity":-0.0002,"bolussnooze":0,"basaliob":-0.001,"netbasalinsulin":-0.2,"hightempinsulin":0,"time":"2017-01-04T18:45:31.000Z"},{"iob":0,"activity":-0.0001,"bolussnooze":0,"basaliob":0,"netbasalinsulin":-0.15,"hightempinsulin":0,"time":"2017-01-04T18:50:31.000Z"},{"iob":0,"activity":0,"bolussnooze":0,"basaliob":0,"netbasalinsulin":-0.1,"hightempinsulin":0,"time":"2017-01-04T18:55:31.000Z"},{"iob":0,"activity":0,"bolussnooze":0,"basaliob":0,"netbasalinsulin":-0.05,"hightempinsulin":0,"time":"2017-01-04T19:00:31.000Z"},{"iob":0,"activity":0,"bolussnooze":0,"basaliob":0,"netbasalinsulin":0,"hightempinsulin":0,"time":"2017-01-04T19:05:31.000Z"}]
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/meal.json b/app/src/main/java/info/nightscout/sampleData/monitor/meal.json
deleted file mode 100644
index d0e41ca9fa..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/meal.json
+++ /dev/null
@@ -1 +0,0 @@
-{"carbs":0,"boluses":8,"mealCOB":0}
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/mmtune.json b/app/src/main/java/info/nightscout/sampleData/monitor/mmtune.json
deleted file mode 100644
index 460af83e51..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/mmtune.json
+++ /dev/null
@@ -1,131 +0,0 @@
-{
- "scanDetails": [
- [
- "868.300",
- 0,
- -99
- ],
- [
- "868.312",
- 0,
- -99
- ],
- [
- "868.324",
- 0,
- -99
- ],
- [
- "868.336",
- 0,
- -99
- ],
- [
- "868.348",
- 0,
- -99
- ],
- [
- "868.360",
- 0,
- -99
- ],
- [
- "868.372",
- 4,
- -91
- ],
- [
- "868.384",
- 5,
- -81
- ],
- [
- "868.396",
- 5,
- -78
- ],
- [
- "868.408",
- 5,
- -77
- ],
- [
- "868.420",
- 5,
- -76
- ],
- [
- "868.432",
- 5,
- -76
- ],
- [
- "868.444",
- 5,
- -76
- ],
- [
- "868.456",
- 5,
- -76
- ],
- [
- "868.468",
- 5,
- -75
- ],
- [
- "868.480",
- 5,
- -76
- ],
- [
- "868.492",
- 5,
- -76
- ],
- [
- "868.504",
- 5,
- -77
- ],
- [
- "868.516",
- 5,
- -80
- ],
- [
- "868.528",
- 5,
- -86
- ],
- [
- "868.540",
- 0,
- -99
- ],
- [
- "868.552",
- 0,
- -99
- ],
- [
- "868.564",
- 0,
- -99
- ],
- [
- "868.576",
- 0,
- -99
- ],
- [
- "868.588",
- 0,
- -99
- ]
- ],
- "setFreq": 868.468,
- "usedDefault": false
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/pumphistory-zoned.json b/app/src/main/java/info/nightscout/sampleData/monitor/pumphistory-zoned.json
deleted file mode 100644
index 3070d01cd5..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/pumphistory-zoned.json
+++ /dev/null
@@ -1,936 +0,0 @@
-[
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:37:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:37:57+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3965104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:37:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:37:57+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3965104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:28:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:28:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:28:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:28:28+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:21:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:21:31+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:21:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:21:31+01:00",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:15:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:15:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:15:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:15:29+01:00",
- "_body": "00",
- "_head": "3362",
- "rate": 2.45,
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:08:41 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:08:41+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2948104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:08:41 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:08:41+01:00",
- "_body": "00",
- "_head": "334e",
- "rate": 1.95,
- "_date": "2948104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:06:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:06:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3246104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:06:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:06:50+01:00",
- "_body": "00",
- "_head": "3332",
- "rate": 1.25,
- "_date": "3246104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:02:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:02:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0342104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:02:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:02:03+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "0342104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:01:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:01:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c41104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:01:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:01:28+01:00",
- "_body": "00",
- "_head": "3396",
- "rate": 3.75,
- "_date": "1c41104411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T15:58:37 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T15:58:37+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "257a4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:55:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:55:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:55:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:55:29+01:00",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:46:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:46:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "326e0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:46:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:46:50+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "326e0f4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T15:44:07 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T15:44:07+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "076c4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:43:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:43:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:43:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:43:50+01:00",
- "_body": "00",
- "_head": "3341",
- "rate": 1.625,
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:41:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:41:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:41:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:41:22+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:28:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:28:24+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:28:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:28:24+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:22:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:22:58+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:22:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:22:58+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:13:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:13:01+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:13:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:13:01+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:50:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:50:21+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:50:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:50:21+01:00",
- "_body": "00",
- "_head": "33fb",
- "rate": 6.275,
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:38:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:38:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:38:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:38:50+01:00",
- "_body": "00",
- "_head": "33e7",
- "rate": 5.775,
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:34:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:34:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:34:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:34:03+01:00",
- "_body": "00",
- "_head": "3344",
- "rate": 1.7,
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:33:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:33:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d610e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:33:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:33:29+01:00",
- "_body": "00",
- "_head": "3392",
- "rate": 3.65,
- "_date": "1d610e4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T14:32:05 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T14:32:05+01:00",
- "_body": "",
- "programmed": 1.0,
- "_head": "010a0a00",
- "amount": 1.0,
- "duration": 0,
- "type": "normal",
- "_date": "05604e0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:26:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:26:30+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:26:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:26:30+01:00",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:25:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:25:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f590e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:25:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:25:47+01:00",
- "_body": "00",
- "_head": "3378",
- "rate": 3.0,
- "_date": "2f590e4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T14:22:59 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T14:22:59+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "3b564e0411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T14:18:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:18:15+01:00",
- "_body": "",
- "_head": "0300000027",
- "amount": 3.9,
- "fixed": 0.0,
- "type": "manual",
- "_date": "0f522e0411"
- },
- {
- "_type": "Rewind",
- "_description": "Rewind 2017-01-04T14:18:03 head[2], body[0] op[0x21]",
- "timestamp": "2017-01-04T14:18:03+01:00",
- "_body": "",
- "_head": "2100",
- "_date": "03520e0411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T14:17:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:17:15+01:00",
- "_body": "",
- "_head": "03000a000a",
- "amount": 1.0,
- "fixed": 1.0,
- "type": "fixed",
- "_date": "0f510e0411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T14:14:56 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:14:56+01:00",
- "_body": "",
- "_head": "0300190019",
- "amount": 2.5,
- "fixed": 2.5,
- "type": "fixed",
- "_date": "384e0e0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:14:32 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:14:32+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:14:32 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:14:32+01:00",
- "_body": "00",
- "_head": "3346",
- "rate": 1.75,
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:09:45 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:09:45+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2d490e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:09:45 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:09:45+01:00",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "2d490e4411"
- },
- {
- "_type": "ClearAlarm",
- "_description": "ClearAlarm 2017-01-04T14:04:16 head[2], body[0] op[0x0c]",
- "timestamp": "2017-01-04T14:04:16+01:00",
- "_body": "",
- "_head": "0c04",
- "_date": "10440e0411"
- },
- {
- "_type": "AlarmPump",
- "_description": "AlarmPump 2017-01-04T14:04:05 head[4], body[0] op[0x06]",
- "timestamp": "2017-01-04T14:04:05+01:00",
- "_body": "",
- "_head": "06040bff",
- "_date": "05444e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:57:38 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:57:38+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "26790d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:57:38 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:57:38+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "26790d4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T13:53:05 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T13:53:05+01:00",
- "_body": "",
- "programmed": 1.0,
- "_head": "010a0a00",
- "amount": 1.0,
- "duration": 0,
- "type": "normal",
- "_date": "05754d0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:47:51 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:47:51+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:47:51 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:47:51+01:00",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:43:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:43:53+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:43:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:43:53+01:00",
- "_body": "00",
- "_head": "3355",
- "rate": 2.125,
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:40:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:40:04+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:40:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:40:04+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:27:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:46+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:46+01:00",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:27:00 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:00+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:00 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:00+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:20:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:20:49+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:20:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:20:49+01:00",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:15:40 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:40+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:40 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:40+01:00",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:15:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:31+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:31+01:00",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:08:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:08:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:08:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:08:29+01:00",
- "_body": "00",
- "_head": "332c",
- "rate": 1.1,
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:03:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:03:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:03:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:03:28+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:57:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:57:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:57:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:57:44+01:00",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:47:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:47:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:47:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:47:29+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:35:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:35:30+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:35:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:35:30+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:23:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:23:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:23:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:23:47+01:00",
- "_body": "00",
- "_head": "33b5",
- "rate": 4.525,
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:18:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:18:48+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:18:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:18:48+01:00",
- "_body": "00",
- "_head": "334a",
- "rate": 1.85,
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:13:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:13:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:13:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:13:29+01:00",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:08:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:08:07+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:08:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:08:07+01:00",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T11:55:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:55:46+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:55:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:55:46+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T11:42:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:42:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c6a0b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:42:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:42:44+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2c6a0b4411"
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/pumphistory.json b/app/src/main/java/info/nightscout/sampleData/monitor/pumphistory.json
deleted file mode 100644
index 709365d77c..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/pumphistory.json
+++ /dev/null
@@ -1,936 +0,0 @@
-[
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:37:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:37:57",
- "_body": "",
- "_head": "1601",
- "_date": "3965104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:37:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:37:57",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3965104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:28:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:28:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:28:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:28:28",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:21:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:21:31",
- "_body": "",
- "_head": "1601",
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:21:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:21:31",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:15:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:15:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:15:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:15:29",
- "_body": "00",
- "_head": "3362",
- "rate": 2.45,
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:08:41 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:08:41",
- "_body": "",
- "_head": "1601",
- "_date": "2948104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:08:41 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:08:41",
- "_body": "00",
- "_head": "334e",
- "rate": 1.95,
- "_date": "2948104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:06:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:06:50",
- "_body": "",
- "_head": "1601",
- "_date": "3246104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:06:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:06:50",
- "_body": "00",
- "_head": "3332",
- "rate": 1.25,
- "_date": "3246104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:02:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:02:03",
- "_body": "",
- "_head": "1601",
- "_date": "0342104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:02:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:02:03",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "0342104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:01:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:01:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c41104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:01:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:01:28",
- "_body": "00",
- "_head": "3396",
- "rate": 3.75,
- "_date": "1c41104411"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T15:58:37 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T15:58:37",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "257a4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:55:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:55:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:55:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:55:29",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:46:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:46:50",
- "_body": "",
- "_head": "1601",
- "_date": "326e0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:46:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:46:50",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "326e0f4411"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T15:44:07 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T15:44:07",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "076c4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:43:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:43:50",
- "_body": "",
- "_head": "1601",
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:43:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:43:50",
- "_body": "00",
- "_head": "3341",
- "rate": 1.625,
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:41:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:41:22",
- "_body": "",
- "_head": "1601",
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:41:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:41:22",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:28:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:28:24",
- "_body": "",
- "_head": "1601",
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:28:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:28:24",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:22:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:22:58",
- "_body": "",
- "_head": "1601",
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:22:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:22:58",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:13:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:13:01",
- "_body": "",
- "_head": "1601",
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:13:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:13:01",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:50:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:50:21",
- "_body": "",
- "_head": "1601",
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:50:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:50:21",
- "_body": "00",
- "_head": "33fb",
- "rate": 6.275,
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:38:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:38:50",
- "_body": "",
- "_head": "1601",
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:38:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:38:50",
- "_body": "00",
- "_head": "33e7",
- "rate": 5.775,
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:34:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:34:03",
- "_body": "",
- "_head": "1601",
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:34:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:34:03",
- "_body": "00",
- "_head": "3344",
- "rate": 1.7,
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:33:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:33:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d610e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:33:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:33:29",
- "_body": "00",
- "_head": "3392",
- "rate": 3.65,
- "_date": "1d610e4411"
- },
- {
- "programmed": 1.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T14:32:05 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T14:32:05",
- "_body": "",
- "_head": "010a0a00",
- "amount": 1.0,
- "_date": "05604e0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:26:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:26:30",
- "_body": "",
- "_head": "1601",
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:26:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:26:30",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:25:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:25:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f590e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:25:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:25:47",
- "_body": "00",
- "_head": "3378",
- "rate": 3.0,
- "_date": "2f590e4411"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T14:22:59 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T14:22:59",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "3b564e0411"
- },
- {
- "_type": "Prime",
- "type": "manual",
- "_description": "Prime 2017-01-04T14:18:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:18:15",
- "_body": "",
- "fixed": 0.0,
- "_head": "0300000027",
- "amount": 3.9,
- "_date": "0f522e0411"
- },
- {
- "_type": "Rewind",
- "_description": "Rewind 2017-01-04T14:18:03 head[2], body[0] op[0x21]",
- "timestamp": "2017-01-04T14:18:03",
- "_body": "",
- "_head": "2100",
- "_date": "03520e0411"
- },
- {
- "_type": "Prime",
- "type": "fixed",
- "_description": "Prime 2017-01-04T14:17:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:17:15",
- "_body": "",
- "fixed": 1.0,
- "_head": "03000a000a",
- "amount": 1.0,
- "_date": "0f510e0411"
- },
- {
- "_type": "Prime",
- "type": "fixed",
- "_description": "Prime 2017-01-04T14:14:56 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:14:56",
- "_body": "",
- "fixed": 2.5,
- "_head": "0300190019",
- "amount": 2.5,
- "_date": "384e0e0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:14:32 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:14:32",
- "_body": "",
- "_head": "1601",
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:14:32 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:14:32",
- "_body": "00",
- "_head": "3346",
- "rate": 1.75,
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:09:45 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:09:45",
- "_body": "",
- "_head": "1601",
- "_date": "2d490e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:09:45 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:09:45",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "2d490e4411"
- },
- {
- "_type": "ClearAlarm",
- "_description": "ClearAlarm 2017-01-04T14:04:16 head[2], body[0] op[0x0c]",
- "timestamp": "2017-01-04T14:04:16",
- "_body": "",
- "_head": "0c04",
- "_date": "10440e0411"
- },
- {
- "_type": "AlarmPump",
- "_description": "AlarmPump 2017-01-04T14:04:05 head[4], body[0] op[0x06]",
- "timestamp": "2017-01-04T14:04:05",
- "_body": "",
- "_head": "06040bff",
- "_date": "05444e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:57:38 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:57:38",
- "_body": "",
- "_head": "1601",
- "_date": "26790d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:57:38 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:57:38",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "26790d4411"
- },
- {
- "programmed": 1.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T13:53:05 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T13:53:05",
- "_body": "",
- "_head": "010a0a00",
- "amount": 1.0,
- "_date": "05754d0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:47:51 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:47:51",
- "_body": "",
- "_head": "1601",
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:47:51 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:47:51",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:43:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:43:53",
- "_body": "",
- "_head": "1601",
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:43:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:43:53",
- "_body": "00",
- "_head": "3355",
- "rate": 2.125,
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:40:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:40:04",
- "_body": "",
- "_head": "1601",
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:40:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:40:04",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:27:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:46",
- "_body": "",
- "_head": "1601",
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:46",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:27:00 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:00",
- "_body": "",
- "_head": "1601",
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:00 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:20:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:20:49",
- "_body": "",
- "_head": "1601",
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:20:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:20:49",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:15:40 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:40",
- "_body": "",
- "_head": "1601",
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:40 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:40",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:15:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:31",
- "_body": "",
- "_head": "1601",
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:31",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:08:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:08:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:08:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:08:29",
- "_body": "00",
- "_head": "332c",
- "rate": 1.1,
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:03:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:03:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:03:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:03:28",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:57:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:57:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:57:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:57:44",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:47:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:47:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:47:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:47:29",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:35:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:35:30",
- "_body": "",
- "_head": "1601",
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:35:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:35:30",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:23:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:23:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:23:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:23:47",
- "_body": "00",
- "_head": "33b5",
- "rate": 4.525,
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:18:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:18:48",
- "_body": "",
- "_head": "1601",
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:18:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:18:48",
- "_body": "00",
- "_head": "334a",
- "rate": 1.85,
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:13:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:13:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:13:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:13:29",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:08:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:08:07",
- "_body": "",
- "_head": "1601",
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:08:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:08:07",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T11:55:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:55:46",
- "_body": "",
- "_head": "1601",
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:55:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:55:46",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T11:42:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:42:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c6a0b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:42:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:42:44",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2c6a0b4411"
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/reservoir.json b/app/src/main/java/info/nightscout/sampleData/monitor/reservoir.json
deleted file mode 100644
index 8044dad1ca..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/reservoir.json
+++ /dev/null
@@ -1 +0,0 @@
-120.5
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/status.json b/app/src/main/java/info/nightscout/sampleData/monitor/status.json
deleted file mode 100644
index 557b2e011f..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/status.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "status": "normal",
- "bolusing": false,
- "suspended": false
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/monitor/temp_basal.json b/app/src/main/java/info/nightscout/sampleData/monitor/temp_basal.json
deleted file mode 100644
index 199234eef0..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/monitor/temp_basal.json
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "duration": 28,
- "rate": 0.0,
- "temp": "absolute"
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/autosens.json b/app/src/main/java/info/nightscout/sampleData/settings/autosens.json
deleted file mode 100644
index 531ce45238..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/autosens.json
+++ /dev/null
@@ -1 +0,0 @@
-{"ratio":1.4}
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/basal_profile.json b/app/src/main/java/info/nightscout/sampleData/settings/basal_profile.json
deleted file mode 100644
index 80e240fb56..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/basal_profile.json
+++ /dev/null
@@ -1,140 +0,0 @@
-[
- {
- "i": 0,
- "start": "00:00:00",
- "rate": 1.0,
- "minutes": 0
- },
- {
- "i": 1,
- "start": "01:00:00",
- "rate": 0.9,
- "minutes": 60
- },
- {
- "i": 2,
- "start": "02:00:00",
- "rate": 0.8,
- "minutes": 120
- },
- {
- "i": 3,
- "start": "03:00:00",
- "rate": 0.8,
- "minutes": 180
- },
- {
- "i": 4,
- "start": "04:00:00",
- "rate": 1.3,
- "minutes": 240
- },
- {
- "i": 5,
- "start": "05:00:00",
- "rate": 1.4000000000000001,
- "minutes": 300
- },
- {
- "i": 6,
- "start": "06:00:00",
- "rate": 1.8,
- "minutes": 360
- },
- {
- "i": 7,
- "start": "07:00:00",
- "rate": 1.8,
- "minutes": 420
- },
- {
- "i": 8,
- "start": "08:00:00",
- "rate": 1.8,
- "minutes": 480
- },
- {
- "i": 9,
- "start": "09:00:00",
- "rate": 1.5,
- "minutes": 540
- },
- {
- "i": 10,
- "start": "10:00:00",
- "rate": 1.0,
- "minutes": 600
- },
- {
- "i": 11,
- "start": "11:00:00",
- "rate": 0.9,
- "minutes": 660
- },
- {
- "i": 12,
- "start": "12:00:00",
- "rate": 0.6000000000000001,
- "minutes": 720
- },
- {
- "i": 13,
- "start": "13:00:00",
- "rate": 0.6000000000000001,
- "minutes": 780
- },
- {
- "i": 14,
- "start": "14:00:00",
- "rate": 0.6000000000000001,
- "minutes": 840
- },
- {
- "i": 15,
- "start": "15:00:00",
- "rate": 0.6000000000000001,
- "minutes": 900
- },
- {
- "i": 16,
- "start": "17:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1020
- },
- {
- "i": 17,
- "start": "18:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1080
- },
- {
- "i": 18,
- "start": "19:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1140
- },
- {
- "i": 19,
- "start": "20:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1200
- },
- {
- "i": 20,
- "start": "21:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1260
- },
- {
- "i": 21,
- "start": "22:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1320
- },
- {
- "i": 22,
- "start": "23:00:00",
- "rate": 0.6000000000000001,
- "minutes": 1380
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/bg_targets.json b/app/src/main/java/info/nightscout/sampleData/settings/bg_targets.json
deleted file mode 100644
index a53f740ae4..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/bg_targets.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "units": "mg/dL",
- "raw": "0x01 0x00 0x5a 0x5a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00",
- "user_preferred_units": "mg/dL",
- "targets": [
- {
- "i": 0,
- "high": 90,
- "start": "00:00:00",
- "low": 90,
- "offset": 0,
- "x": 0
- }
- ],
- "first": 1
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/bg_targets_raw.json b/app/src/main/java/info/nightscout/sampleData/settings/bg_targets_raw.json
deleted file mode 100644
index 887bc01e31..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/bg_targets_raw.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "units": "mg/dL",
- "raw": "0x01 0x00 0x5a 0x5a 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00",
- "targets": [
- {
- "high": 90,
- "start": "00:00:00",
- "low": 90,
- "offset": 0,
- "i": 0,
- "x": 0
- }
- ],
- "first": 1
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/carb_ratios.json b/app/src/main/java/info/nightscout/sampleData/settings/carb_ratios.json
deleted file mode 100644
index 8249963d76..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/carb_ratios.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "units": "grams",
- "raw": "0x01 0x00 0x09 0x0b 0x07 0x12 0x09 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00",
- "first": 1,
- "schedule": [
- {
- "start": "00:00:00",
- "r": 9,
- "ratio": 9,
- "offset": 0,
- "i": 0,
- "x": 0
- },
- {
- "start": "05:30:00",
- "r": 7,
- "ratio": 7,
- "offset": 330,
- "i": 11,
- "x": 1
- },
- {
- "start": "09:00:00",
- "r": 9,
- "ratio": 9,
- "offset": 540,
- "i": 18,
- "x": 2
- }
- ]
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/insulin_sensitivities.json b/app/src/main/java/info/nightscout/sampleData/settings/insulin_sensitivities.json
deleted file mode 100644
index 42aa84cbae..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/insulin_sensitivities.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- "units": "mg/dL",
- "user_preferred_units": "mg/dL",
- "sensitivities": [
- {
- "i": 0,
- "start": "00:00:00",
- "sensitivity": 35,
- "x": 0,
- "offset": 0
- },
- {
- "i": 8,
- "start": "04:00:00",
- "sensitivity": 30,
- "x": 1,
- "offset": 240
- },
- {
- "i": 20,
- "start": "10:00:00",
- "sensitivity": 30,
- "x": 2,
- "offset": 600
- }
- ],
- "first": 1
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/insulin_sensitivities_raw.json b/app/src/main/java/info/nightscout/sampleData/settings/insulin_sensitivities_raw.json
deleted file mode 100644
index ca36a04c94..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/insulin_sensitivities_raw.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "units": "mg/dL",
- "sensitivities": [
- {
- "i": 0,
- "start": "00:00:00",
- "sensitivity": 35,
- "offset": 0,
- "x": 0
- },
- {
- "i": 8,
- "start": "04:00:00",
- "sensitivity": 30,
- "offset": 240,
- "x": 1
- },
- {
- "i": 20,
- "start": "10:00:00",
- "sensitivity": 30,
- "offset": 600,
- "x": 2
- }
- ],
- "first": 1
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/model.json b/app/src/main/java/info/nightscout/sampleData/settings/model.json
deleted file mode 100644
index 7bd9b5e600..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/model.json
+++ /dev/null
@@ -1 +0,0 @@
-"522"
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/profile.json b/app/src/main/java/info/nightscout/sampleData/settings/profile.json
deleted file mode 100644
index 66e6cbc197..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/profile.json
+++ /dev/null
@@ -1 +0,0 @@
-{"max_iob":15,"max_daily_safety_multiplier":9,"current_basal_safety_multiplier":12,"autosens_max":1.4,"autosens_min":0.6,"autosens_adjust_targets":true,"override_high_target_with_low":false,"skip_neutral_temps":false,"bolussnooze_dia_divisor":2,"min_5m_carbimpact":3,"carbratio_adjustmentratio":1,"dia":3,"model":"522","current_basal":0.6,"basalprofile":[{"i":0,"start":"00:00:00","rate":1,"minutes":0},{"i":1,"start":"01:00:00","rate":0.9,"minutes":60},{"i":2,"start":"02:00:00","rate":0.8,"minutes":120},{"i":3,"start":"03:00:00","rate":0.8,"minutes":180},{"i":4,"start":"04:00:00","rate":1.3,"minutes":240},{"i":5,"start":"05:00:00","rate":1.4000000000000001,"minutes":300},{"i":6,"start":"06:00:00","rate":1.8,"minutes":360},{"i":7,"start":"07:00:00","rate":1.8,"minutes":420},{"i":8,"start":"08:00:00","rate":1.8,"minutes":480},{"i":9,"start":"09:00:00","rate":1.5,"minutes":540},{"i":10,"start":"10:00:00","rate":1,"minutes":600},{"i":11,"start":"11:00:00","rate":0.9,"minutes":660},{"i":12,"start":"12:00:00","rate":0.6000000000000001,"minutes":720},{"i":13,"start":"13:00:00","rate":0.6000000000000001,"minutes":780},{"i":14,"start":"14:00:00","rate":0.6000000000000001,"minutes":840},{"i":15,"start":"15:00:00","rate":0.6000000000000001,"minutes":900},{"i":16,"start":"17:00:00","rate":0.6000000000000001,"minutes":1020},{"i":17,"start":"18:00:00","rate":0.6000000000000001,"minutes":1080},{"i":18,"start":"19:00:00","rate":0.6000000000000001,"minutes":1140},{"i":19,"start":"20:00:00","rate":0.6000000000000001,"minutes":1200},{"i":20,"start":"21:00:00","rate":0.6000000000000001,"minutes":1260},{"i":21,"start":"22:00:00","rate":0.6000000000000001,"minutes":1320},{"i":22,"start":"23:00:00","rate":0.6000000000000001,"minutes":1380}],"max_daily_basal":1.8,"max_basal":6.3,"out_units":"mg/dL","min_bg":90,"max_bg":90,"sens":30,"isfProfile":{"units":"mg/dL","user_preferred_units":"mg/dL","sensitivities":[{"i":0,"start":"00:00:00","sensitivity":35,"x":0,"offset":0},{"i":8,"start":"04:00:00","sensitivity":30,"x":1,"offset":240},{"i":20,"start":"10:00:00","sensitivity":30,"x":2,"offset":600,"endOffset":1440}],"first":1},"carb_ratio":9}
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/pumphistory-24h-zoned.json b/app/src/main/java/info/nightscout/sampleData/settings/pumphistory-24h-zoned.json
deleted file mode 100644
index 3110d24e4c..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/pumphistory-24h-zoned.json
+++ /dev/null
@@ -1,4075 +0,0 @@
-[
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:37:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:37:57+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3965104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:37:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:37:57+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3965104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:28:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:28:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:28:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:28:28+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:21:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:21:31+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:21:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:21:31+01:00",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:15:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:15:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:15:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:15:29+01:00",
- "_body": "00",
- "_head": "3362",
- "rate": 2.45,
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:08:41 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:08:41+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2948104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:08:41 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:08:41+01:00",
- "_body": "00",
- "_head": "334e",
- "rate": 1.95,
- "_date": "2948104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:06:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:06:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3246104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:06:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:06:50+01:00",
- "_body": "00",
- "_head": "3332",
- "rate": 1.25,
- "_date": "3246104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:02:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:02:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0342104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:02:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:02:03+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "0342104411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:01:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:01:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c41104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:01:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:01:28+01:00",
- "_body": "00",
- "_head": "3396",
- "rate": 3.75,
- "_date": "1c41104411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T15:58:37 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T15:58:37+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "257a4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:55:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:55:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:55:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:55:29+01:00",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:46:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:46:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "326e0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:46:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:46:50+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "326e0f4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T15:44:07 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T15:44:07+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "076c4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:43:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:43:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:43:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:43:50+01:00",
- "_body": "00",
- "_head": "3341",
- "rate": 1.625,
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:41:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:41:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:41:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:41:22+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:28:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:28:24+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:28:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:28:24+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:22:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:22:58+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:22:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:22:58+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T15:13:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:13:01+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:13:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:13:01+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:50:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:50:21+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:50:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:50:21+01:00",
- "_body": "00",
- "_head": "33fb",
- "rate": 6.275,
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:38:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:38:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:38:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:38:50+01:00",
- "_body": "00",
- "_head": "33e7",
- "rate": 5.775,
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:34:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:34:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:34:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:34:03+01:00",
- "_body": "00",
- "_head": "3344",
- "rate": 1.7,
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:33:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:33:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d610e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:33:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:33:29+01:00",
- "_body": "00",
- "_head": "3392",
- "rate": 3.65,
- "_date": "1d610e4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T14:32:05 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T14:32:05+01:00",
- "_body": "",
- "programmed": 1.0,
- "_head": "010a0a00",
- "amount": 1.0,
- "duration": 0,
- "type": "normal",
- "_date": "05604e0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:26:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:26:30+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:26:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:26:30+01:00",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:25:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:25:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f590e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:25:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:25:47+01:00",
- "_body": "00",
- "_head": "3378",
- "rate": 3.0,
- "_date": "2f590e4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T14:22:59 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T14:22:59+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "3b564e0411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T14:18:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:18:15+01:00",
- "_body": "",
- "_head": "0300000027",
- "amount": 3.9,
- "fixed": 0.0,
- "type": "manual",
- "_date": "0f522e0411"
- },
- {
- "_type": "Rewind",
- "_description": "Rewind 2017-01-04T14:18:03 head[2], body[0] op[0x21]",
- "timestamp": "2017-01-04T14:18:03+01:00",
- "_body": "",
- "_head": "2100",
- "_date": "03520e0411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T14:17:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:17:15+01:00",
- "_body": "",
- "_head": "03000a000a",
- "amount": 1.0,
- "fixed": 1.0,
- "type": "fixed",
- "_date": "0f510e0411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T14:14:56 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:14:56+01:00",
- "_body": "",
- "_head": "0300190019",
- "amount": 2.5,
- "fixed": 2.5,
- "type": "fixed",
- "_date": "384e0e0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:14:32 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:14:32+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:14:32 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:14:32+01:00",
- "_body": "00",
- "_head": "3346",
- "rate": 1.75,
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T14:09:45 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:09:45+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2d490e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:09:45 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:09:45+01:00",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "2d490e4411"
- },
- {
- "_type": "ClearAlarm",
- "_description": "ClearAlarm 2017-01-04T14:04:16 head[2], body[0] op[0x0c]",
- "timestamp": "2017-01-04T14:04:16+01:00",
- "_body": "",
- "_head": "0c04",
- "_date": "10440e0411"
- },
- {
- "_type": "AlarmPump",
- "_description": "AlarmPump 2017-01-04T14:04:05 head[4], body[0] op[0x06]",
- "timestamp": "2017-01-04T14:04:05+01:00",
- "_body": "",
- "_head": "06040bff",
- "_date": "05444e4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:57:38 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:57:38+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "26790d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:57:38 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:57:38+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "26790d4411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T13:53:05 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T13:53:05+01:00",
- "_body": "",
- "programmed": 1.0,
- "_head": "010a0a00",
- "amount": 1.0,
- "duration": 0,
- "type": "normal",
- "_date": "05754d0411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:47:51 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:47:51+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:47:51 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:47:51+01:00",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:43:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:43:53+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:43:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:43:53+01:00",
- "_body": "00",
- "_head": "3355",
- "rate": 2.125,
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:40:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:40:04+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:40:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:40:04+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:27:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:46+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:46+01:00",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:27:00 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:00+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:00 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:00+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:20:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:20:49+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:20:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:20:49+01:00",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:15:40 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:40+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:40 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:40+01:00",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:15:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:31+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:31+01:00",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:08:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:08:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:08:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:08:29+01:00",
- "_body": "00",
- "_head": "332c",
- "rate": 1.1,
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T13:03:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:03:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:03:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:03:28+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:57:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:57:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:57:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:57:44+01:00",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:47:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:47:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:47:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:47:29+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:35:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:35:30+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:35:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:35:30+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:23:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:23:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:23:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:23:47+01:00",
- "_body": "00",
- "_head": "33b5",
- "rate": 4.525,
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:18:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:18:48+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:18:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:18:48+01:00",
- "_body": "00",
- "_head": "334a",
- "rate": 1.85,
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:13:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:13:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:13:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:13:29+01:00",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T12:08:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:08:07+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:08:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:08:07+01:00",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T11:55:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:55:46+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:55:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:55:46+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T11:42:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:42:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c6a0b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:42:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:42:44+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2c6a0b4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T11:31:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:31:27+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1b5f0b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:31:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:31:27+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1b5f0b4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T11:19:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:19:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "19530b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:19:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:19:25+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "19530b4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:58:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:58:19+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "137a0a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:58:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:58:19+01:00",
- "_body": "00",
- "_head": "33c9",
- "rate": 5.025,
- "_date": "137a0a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:52:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:52:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c740a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:52:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:52:44+01:00",
- "_body": "00",
- "_head": "33a8",
- "rate": 4.2,
- "_date": "2c740a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:48:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:48:19+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "13700a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:48:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:48:19+01:00",
- "_body": "00",
- "_head": "3380",
- "rate": 3.2,
- "_date": "13700a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:33:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:33:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e610a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:33:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:33:14+01:00",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "0e610a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:27:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:27:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c5b0a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:27:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:27:44+01:00",
- "_body": "00",
- "_head": "334a",
- "rate": 1.85,
- "_date": "2c5b0a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:23:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:23:49+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "31570a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:23:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:23:49+01:00",
- "_body": "00",
- "_head": "3310",
- "rate": 0.4,
- "_date": "31570a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:18:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:18:26+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1a520a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:18:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:18:26+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1a520a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:08:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:08:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "19480a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:08:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:08:25+01:00",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "19480a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T10:03:08 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:03:08+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "08430a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:03:08 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:03:08+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "08430a4411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T09:45:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:45:24+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "186d094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:45:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:45:24+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "186d094411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T09:33:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:33:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e61094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:33:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:33:14+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0e61094411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T09:32:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:32:28+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1c60094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:32:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:32:28+01:00",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "1c60094411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T09:18:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:18:26+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1a52094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:18:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:18:26+01:00",
- "_body": "00",
- "_head": "3336",
- "rate": 1.35,
- "_date": "1a52094411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T09:01:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:01:07+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0741094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:01:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:01:07+01:00",
- "_body": "00",
- "_head": "3336",
- "rate": 1.35,
- "_date": "0741094411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T09:00:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:00:27+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1b40094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:00:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:00:27+01:00",
- "_body": "00",
- "_head": "33d3",
- "rate": 5.275,
- "_date": "1b40094411"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-04T08:53:23 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-04T08:53:23+01:00",
- "_body": "",
- "programmed": 8.5,
- "_head": "01555500",
- "amount": 8.5,
- "duration": 0,
- "type": "normal",
- "_date": "1775480411"
- },
- {
- "unknown_byte[8]": 0,
- "_type": "BolusWizard",
- "bg": 98,
- "_byte[5]": 2,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-04T08:53:23 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-04T08:53:23+01:00",
- "_body": "3c50071e5a025500000000575a",
- "bg_target_high": 90,
- "sensitivity": 30,
- "carb_ratio": 7,
- "food_estimate": 8.5,
- "unabsorbed_insulin_total": 0.0,
- "correction_estimate": 0.2,
- "carb_input": 60,
- "_head": "5b62",
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "bolus_estimate": 8.7,
- "_date": "1775080411",
- "bg_target_low": 90
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-04T08:53:09 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-04T08:53:09+01:00",
- "_body": "",
- "_head": "0a62",
- "amount": 98,
- "_date": "0975280411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T08:49:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:49:26+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1a71084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:49:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:49:26+01:00",
- "_body": "00",
- "_head": "3397",
- "rate": 3.775,
- "_date": "1a71084411"
- },
- {
- "_type": "Prime",
- "_description": "Prime 2017-01-04T08:47:41 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T08:47:41+01:00",
- "_body": "",
- "_head": "0300000035",
- "amount": 5.3,
- "fixed": 0.0,
- "type": "manual",
- "_date": "296f280411"
- },
- {
- "_type": "Rewind",
- "_description": "Rewind 2017-01-04T08:46:39 head[2], body[0] op[0x21]",
- "timestamp": "2017-01-04T08:46:39+01:00",
- "_body": "",
- "_head": "2100",
- "_date": "276e080411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T08:35:51 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:35:51+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3363084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:35:51 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:35:51+01:00",
- "_body": "00",
- "_head": "3364",
- "rate": 2.5,
- "_date": "3363084411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T08:16:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:16:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1950084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:16:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:16:25+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1950084411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T08:02:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:02:26+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1a42084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:02:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:02:26+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1a42084411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T07:49:32 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:49:32+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2071074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:49:32 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:49:32+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2071074411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T07:37:12 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:37:12+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0c65074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:37:12 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:37:12+01:00",
- "_body": "00",
- "_head": "335e",
- "rate": 2.35,
- "_date": "0c65074411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T07:29:09 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:29:09+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "095d074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:29:09 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:29:09+01:00",
- "_body": "00",
- "_head": "3341",
- "rate": 1.625,
- "_date": "095d074411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T07:13:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:13:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "034d074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:13:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:13:03+01:00",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "034d074411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T06:55:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:55:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1977064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:55:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:55:25+01:00",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "1977064411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T06:39:20 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:39:20+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1467064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:39:20 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:39:20+01:00",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "1467064411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T06:13:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:13:02+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "024d064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:13:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:13:02+01:00",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "024d064411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T06:05:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:05:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f45064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:05:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:05:47+01:00",
- "_body": "00",
- "_head": "334e",
- "rate": 1.95,
- "_date": "2f45064411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:57:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:57:53+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3579054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:57:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:57:53+01:00",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "3579054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:48:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:48:01+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0170054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:48:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:48:01+01:00",
- "_body": "00",
- "_head": "3351",
- "rate": 2.025,
- "_date": "0170054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:44:11 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:44:11+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0b6c054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:44:11 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:44:11+01:00",
- "_body": "00",
- "_head": "339a",
- "rate": 3.85,
- "_date": "0b6c054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:42:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:42:18+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "126a054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:42:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:42:18+01:00",
- "_body": "00",
- "_head": "3372",
- "rate": 2.85,
- "_date": "126a054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:27:12 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:27:12+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0c5b054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:27:12 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:27:12+01:00",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "0c5b054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:24:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:24:13+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0d58054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:24:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:24:13+01:00",
- "_body": "00",
- "_head": "334b",
- "rate": 1.875,
- "_date": "0d58054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:19:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:19:49+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3153054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:19:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:19:49+01:00",
- "_body": "00",
- "_head": "333c",
- "rate": 1.5,
- "_date": "3153054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T05:07:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:07:57+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3947054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:07:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:07:57+01:00",
- "_body": "00",
- "_head": "3339",
- "rate": 1.425,
- "_date": "3947054411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T04:58:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:58:02+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "027a044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:58:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:58:02+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "027a044411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T04:52:15 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:52:15+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0f74044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:52:15 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:52:15+01:00",
- "_body": "00",
- "_head": "333e",
- "rate": 1.55,
- "_date": "0f74044411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T04:32:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:32:13+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0d60044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:32:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:32:13+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0d60044411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T04:13:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:13:58+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3a4d044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:13:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:13:58+01:00",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "3a4d044411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T04:02:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:02:18+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1242044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:02:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:02:18+01:00",
- "_body": "00",
- "_head": "335b",
- "rate": 2.275,
- "_date": "1242044411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:57:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:57:54+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3679034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:57:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:57:54+01:00",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "3679034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:50:05 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:50:05+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0572034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:50:05 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:50:05+01:00",
- "_body": "00",
- "_head": "332c",
- "rate": 1.1,
- "_date": "0572034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:38:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:38:04+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0466034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:38:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:38:04+01:00",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "0466034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:34:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:34:07+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0762034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:34:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:34:07+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "0762034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:32:16 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:32:16+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1060034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:32:16 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:32:16+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1060034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:28:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:28:18+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "125c034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:28:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:28:18+01:00",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "125c034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:23:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:23:59+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3b57034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:23:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:23:59+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3b57034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:15:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:15:58+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3a4f034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:15:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:15:58+01:00",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "3a4f034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:09:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:09:54+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3649034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:09:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:09:54+01:00",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "3649034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T03:04:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:04:59+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3b44034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:04:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:04:59+01:00",
- "_body": "00",
- "_head": "333c",
- "rate": 1.5,
- "_date": "3b44034411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T02:53:05 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:53:05+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0575024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:53:05 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:53:05+01:00",
- "_body": "00",
- "_head": "3332",
- "rate": 1.25,
- "_date": "0575024411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T02:50:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:50:55+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3772024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:50:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:50:55+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "3772024411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T02:37:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:37:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1665024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:37:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:37:22+01:00",
- "_body": "00",
- "_head": "3312",
- "rate": 0.45,
- "_date": "1665024411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T02:34:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:34:59+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3b62024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:34:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:34:59+01:00",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "3b62024411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T02:23:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:23:02+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0257024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:23:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:23:02+01:00",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "0257024411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T02:07:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:07:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1647024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:07:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:07:22+01:00",
- "_body": "00",
- "_head": "3383",
- "rate": 3.275,
- "_date": "1647024411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:57:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:57:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f79014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:57:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:57:47+01:00",
- "_body": "00",
- "_head": "336c",
- "rate": 2.7,
- "_date": "2f79014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:52:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:52:18+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1274014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:52:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:52:18+01:00",
- "_body": "00",
- "_head": "3351",
- "rate": 2.025,
- "_date": "1274014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:50:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:50:04+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0472014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:50:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:50:04+01:00",
- "_body": "00",
- "_head": "338a",
- "rate": 3.45,
- "_date": "0472014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:38:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:38:02+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0266014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:38:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:38:02+01:00",
- "_body": "00",
- "_head": "3388",
- "rate": 3.4,
- "_date": "0266014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:32:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:32:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e60014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:32:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:32:14+01:00",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "0e60014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:27:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:27:55+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "375b014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:27:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:27:55+01:00",
- "_body": "00",
- "_head": "3354",
- "rate": 2.1,
- "_date": "375b014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:22:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:22:27+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1b56014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:22:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:22:27+01:00",
- "_body": "00",
- "_head": "3340",
- "rate": 1.6,
- "_date": "1b56014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:18:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:18:07+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0752014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:18:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:18:07+01:00",
- "_body": "00",
- "_head": "332f",
- "rate": 1.175,
- "_date": "0752014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T01:13:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:13:54+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "364d014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:13:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:13:54+01:00",
- "_body": "00",
- "_head": "3325",
- "rate": 0.925,
- "_date": "364d014411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:55:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:55:59+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3b77004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:55:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:55:59+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3b77004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:44:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:44:48+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "306c004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:44:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:44:48+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "306c004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:33:20 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:33:20+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1461004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:33:20 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:33:20+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1461004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:30:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:30:57+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "395e004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:30:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:30:57+01:00",
- "_body": "00",
- "_head": "3382",
- "rate": 3.25,
- "_date": "395e004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:23:08 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:23:08+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0857004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:23:08 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:23:08+01:00",
- "_body": "00",
- "_head": "334b",
- "rate": 1.875,
- "_date": "0857004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:21:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:21:10+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0a55004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:21:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:21:10+01:00",
- "_body": "00",
- "_head": "3334",
- "rate": 1.3,
- "_date": "0a55004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:17:20 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:17:20+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1451004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:17:20 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:17:20+01:00",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "1451004411"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T00:07:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:07:10+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0a47004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:07:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:07:10+01:00",
- "_body": "00",
- "_head": "33d2",
- "rate": 5.25,
- "_date": "0a47004411"
- },
- {
- "_type": "Model522ResultTotals",
- "_description": "Model522ResultTotals 2017-01-04T00:00:00 head[1], body[41] op[0x6d]",
- "timestamp": "2017-01-04T00:00:00+01:00",
- "_body": "0500695a820400000c2804f82907303b00e107303b04403b00480402a8250a020002060c00e8000000",
- "_head": "6d",
- "_date": "0391"
- },
- {
- "_type": "ResultDailyTotal",
- "_description": "ResultDailyTotal 2017-01-04T00:00:00 head[5], body[0] op[0x07]",
- "timestamp": "2017-01-04T00:00:00+01:00",
- "_body": "",
- "_head": "0700000c28",
- "valid_date": "2017-01-03",
- "_date": "0391"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:57:37 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:57:37+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2579174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:57:37 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:57:37+01:00",
- "_body": "00",
- "_head": "33aa",
- "rate": 4.25,
- "_date": "2579174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:53:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:53:56+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3875174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:53:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:53:56+01:00",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "3875174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:42:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:42:13+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0d6a174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:42:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:42:13+01:00",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "0d6a174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:38:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:38:13+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0d66174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:38:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:38:13+01:00",
- "_body": "00",
- "_head": "3351",
- "rate": 2.025,
- "_date": "0d66174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:33:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:33:48+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3061174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:33:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:33:48+01:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "3061174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:22:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:22:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e56174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:22:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:22:14+01:00",
- "_body": "00",
- "_head": "331a",
- "rate": 0.65,
- "_date": "0e56174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:12:12 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:12:12+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0c4c174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:12:12 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:12:12+01:00",
- "_body": "00",
- "_head": "339a",
- "rate": 3.85,
- "_date": "0c4c174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:10:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:10:13+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0d4a174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:10:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:10:13+01:00",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "0d4a174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:08:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:08:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e48174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:08:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:08:14+01:00",
- "_body": "00",
- "_head": "333e",
- "rate": 1.55,
- "_date": "0e48174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:05:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:05:07+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0745174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:05:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:05:07+01:00",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "0745174311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T23:04:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:04:47+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2f44174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:04:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:04:47+01:00",
- "_body": "00",
- "_head": "33c9",
- "rate": 5.025,
- "_date": "2f44174311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T23:02:21 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T23:02:21+01:00",
- "_body": "",
- "programmed": 3.0,
- "_head": "011e1e00",
- "amount": 3.0,
- "duration": 0,
- "type": "normal",
- "_date": "1542570311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:57:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:57:19+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1379164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:57:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:57:19+01:00",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "1379164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:52:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:52:52+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3474164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:52:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:52:52+01:00",
- "_body": "00",
- "_head": "3340",
- "rate": 1.6,
- "_date": "3474164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:46:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:46:10+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0a6e164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:46:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:46:10+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0a6e164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:44:16 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:44:16+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "106c164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:44:16 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:44:16+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "106c164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:41:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:41:55+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3769164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:41:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:41:55+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3769164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:29:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:29:55+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "375d164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:29:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:29:55+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "375d164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:16:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:16:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1950164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:16:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:16:25+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1950164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T22:04:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:04:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0344164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:04:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:04:03+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0344164311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T21:54:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:54:01+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0176154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:54:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:54:01+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "0176154311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T21:37:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:37:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1965154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:37:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:37:25+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1965154311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T21:28:28 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T21:28:28+01:00",
- "_body": "",
- "programmed": 3.0,
- "_head": "011e1e00",
- "amount": 3.0,
- "duration": 0,
- "type": "normal",
- "_date": "1c5c550311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T21:19:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:19:24+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1853154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:19:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:19:24+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1853154311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T21:03:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:03:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3243154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:03:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:03:50+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3243154311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T20:57:24 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T20:57:24+01:00",
- "_body": "",
- "appended": [
- {
- "_type": "UnabsorbedInsulinBolus",
- "_description": "UnabsorbedInsulinBolus unknown head[23], body[0] op[0x5c]",
- "_body": "",
- "_head": "5c177894c0b4f8c07a20d0262ad0503ed07c98d0eca2d0",
- "data": [
- {
- "amount": 3.0,
- "age": 148
- },
- {
- "amount": 4.5,
- "age": 248
- },
- {
- "amount": 3.05,
- "age": 288
- },
- {
- "amount": 0.95,
- "age": 298
- },
- {
- "amount": 2.0,
- "age": 318
- },
- {
- "amount": 3.1,
- "age": 408
- },
- {
- "amount": 5.9,
- "age": 418
- }
- ],
- "_date": ""
- }
- ],
- "programmed": 7.0,
- "duration": 0,
- "amount": 7.0,
- "_head": "01464600",
- "type": "normal",
- "_date": "1879540311"
- },
- {
- "unknown_byte[8]": 0,
- "_type": "BolusWizard",
- "bg": 90,
- "_byte[5]": 0,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-03T20:57:24 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-03T20:57:24+01:00",
- "_body": "3750091e5a003d000004003d5a",
- "bg_target_high": 90,
- "sensitivity": 30,
- "carb_ratio": 9,
- "food_estimate": 6.1,
- "unabsorbed_insulin_total": 0.4,
- "correction_estimate": 0.0,
- "carb_input": 55,
- "_head": "5b5a",
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "bolus_estimate": 6.1,
- "_date": "1879140311",
- "bg_target_low": 90
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-03T20:57:06 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-03T20:57:06+01:00",
- "_body": "",
- "_head": "0a5a",
- "amount": 90,
- "_date": "0679340311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T20:29:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T20:29:56+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "385d144311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T20:29:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T20:29:56+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "385d144311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T20:01:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T20:01:26+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1a41144311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T20:01:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T20:01:26+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1a41144311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T19:48:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:48:02+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0270134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:48:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:48:02+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0270134311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T19:34:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:34:24+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1862134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:34:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:34:24+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1862134311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T19:23:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:23:24+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1857134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:23:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:23:24+01:00",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "1857134311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T19:17:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:17:59+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3b51134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:17:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:17:59+01:00",
- "_body": "00",
- "_head": "334b",
- "rate": 1.875,
- "_date": "3b51134311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T19:08:00 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:08:00+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0048134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:08:00 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:08:00+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "0048134311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:57:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:57:52+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3479124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:57:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:57:52+01:00",
- "_body": "00",
- "_head": "335b",
- "rate": 2.275,
- "_date": "3479124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:54:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:54:25+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1976124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:54:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:54:25+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1976124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:48:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:48:50+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3270124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:48:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:48:50+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3270124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:45:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:45:26+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1a6d124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:45:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:45:26+01:00",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "1a6d124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:34:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:34:48+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3062124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:34:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:34:48+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3062124311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T18:30:43 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T18:30:43+01:00",
- "_body": "",
- "programmed": 3.0,
- "_head": "011e1e00",
- "amount": 3.0,
- "duration": 0,
- "type": "normal",
- "_date": "2b5e520311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:20:35 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:20:35+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2354124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:20:35 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:20:35+01:00",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "2354124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:13:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:13:27+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1b4d124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:13:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:13:27+01:00",
- "_body": "00",
- "_head": "3310",
- "rate": 0.4,
- "_date": "1b4d124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:08:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:08:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e48124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:08:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:08:14+01:00",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "0e48124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T18:07:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:07:19+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1347124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:07:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:07:19+01:00",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1347124311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T17:55:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:55:55+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3777114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:55:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:55:55+01:00",
- "_body": "00",
- "_head": "33c6",
- "rate": 4.95,
- "_date": "3777114311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T17:43:16 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:43:16+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "106b114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:43:16 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:43:16+01:00",
- "_body": "00",
- "_head": "33aa",
- "rate": 4.25,
- "_date": "106b114311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T17:35:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:35:58+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3a63114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:35:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:35:58+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3a63114311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T17:18:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:18:03+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0352114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:18:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:18:03+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "0352114311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T17:12:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:12:52+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "344c114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:12:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:12:52+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "344c114311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:55:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:55:21+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1577104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:55:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:55:21+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1577104311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:54:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:54:10+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0a76104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:54:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:54:10+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0a76104311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T16:50:06 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T16:50:06+01:00",
- "_body": "",
- "appended": [
- {
- "_type": "UnabsorbedInsulinBolus",
- "_description": "UnabsorbedInsulinBolus unknown head[17], body[0] op[0x5c]",
- "_body": "",
- "_head": "5c117a29c02633c05047c07ca1c0ecabc0",
- "data": [
- {
- "amount": 3.05,
- "age": 41
- },
- {
- "amount": 0.95,
- "age": 51
- },
- {
- "amount": 2.0,
- "age": 71
- },
- {
- "amount": 3.1,
- "age": 161
- },
- {
- "amount": 5.9,
- "age": 171
- }
- ],
- "_date": ""
- }
- ],
- "programmed": 4.5,
- "duration": 0,
- "amount": 4.5,
- "_head": "012d2d00",
- "type": "normal",
- "_date": "0672500311"
- },
- {
- "unknown_byte[8]": 0,
- "_type": "BolusWizard",
- "bg": 111,
- "_byte[5]": 7,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-03T16:50:06 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-03T16:50:06+01:00",
- "_body": "2850091e5a072c000035002c5a",
- "bg_target_high": 90,
- "sensitivity": 30,
- "carb_ratio": 9,
- "food_estimate": 4.4,
- "unabsorbed_insulin_total": 5.3,
- "correction_estimate": 0.7,
- "carb_input": 40,
- "_head": "5b6f",
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "bolus_estimate": 4.4,
- "_date": "0672100311",
- "bg_target_low": 90
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-03T16:49:56 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-03T16:49:56+01:00",
- "_body": "",
- "_head": "0a6f",
- "amount": 111,
- "_date": "3871300311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:36:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:36:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1664104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:36:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:36:22+01:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1664104311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:27:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:27:52+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "345b104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:27:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:27:52+01:00",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "345b104311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:11:40 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:11:40+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "284b104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:11:40 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:11:40+01:00",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "284b104311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T16:08:21 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T16:08:21+01:00",
- "_body": "",
- "programmed": 4.0,
- "_head": "01282800",
- "amount": 4.0,
- "duration": 0,
- "type": "normal",
- "_date": "1548500311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:07:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:07:59+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3b47104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:07:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:07:59+01:00",
- "_body": "00",
- "_head": "338d",
- "rate": 3.525,
- "_date": "3b47104311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T16:02:42 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:02:42+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2a42104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:02:42 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:02:42+01:00",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "2a42104311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:55:23 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:55:23+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "17770f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:55:23 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:55:23+01:00",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "17770f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:44:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:44:53+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "356c0f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:44:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:44:53+01:00",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "356c0f4311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T15:42:20 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T15:42:20+01:00",
- "_body": "",
- "programmed": 2.0,
- "_head": "01141400",
- "amount": 2.0,
- "duration": 0,
- "type": "normal",
- "_date": "146a4f0311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:38:37 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:38:37+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "25660f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:38:37 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:38:37+01:00",
- "_body": "00",
- "_head": "3376",
- "rate": 2.95,
- "_date": "25660f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:34:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:34:30+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1e620f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:34:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:34:30+01:00",
- "_body": "00",
- "_head": "3350",
- "rate": 2.0,
- "_date": "1e620f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:30:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:30:52+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "345e0f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:30:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:30:52+01:00",
- "_body": "00",
- "_head": "3334",
- "rate": 1.3,
- "_date": "345e0f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:17:38 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:17:38+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "26510f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:17:38 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:17:38+01:00",
- "_body": "00",
- "_head": "3314",
- "rate": 0.5,
- "_date": "26510f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:13:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:13:54+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "364d0f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:13:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:13:54+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "364d0f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T15:02:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:02:56+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "38420f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:02:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:02:56+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "38420f4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:57:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:57:53+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "35790e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:57:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:57:53+01:00",
- "_body": "00",
- "_head": "3312",
- "rate": 0.45,
- "_date": "35790e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:47:42 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:47:42+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2a6f0e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:47:42 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:47:42+01:00",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "2a6f0e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:41:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:41:21+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "15690e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:41:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:41:21+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "15690e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:24:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:24:44+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "2c580e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:24:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:24:44+01:00",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "2c580e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:13:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:13:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "164d0e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:13:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:13:22+01:00",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "164d0e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:11:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:11:22+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "164b0e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:11:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:11:22+01:00",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "164b0e4311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T14:04:52 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T14:04:52+01:00",
- "_body": "",
- "appended": [
- {
- "_type": "UnabsorbedInsulinBolus",
- "_description": "UnabsorbedInsulinBolus unknown head[11], body[0] op[0x5c]",
- "_body": "",
- "_head": "5c0b503bd02263d0326dd1",
- "data": [
- {
- "amount": 2.0,
- "age": 315
- },
- {
- "amount": 0.85,
- "age": 355
- },
- {
- "amount": 1.25,
- "age": 365
- }
- ],
- "_date": ""
- }
- ],
- "programmed": 9.0,
- "duration": 0,
- "amount": 9.0,
- "_head": "015a5a00",
- "type": "normal",
- "_date": "34444e0311"
- },
- {
- "unknown_byte[8]": 0,
- "_type": "BolusWizard",
- "bg": 130,
- "_byte[5]": 13,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-03T14:04:52 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-03T14:04:52+01:00",
- "_body": "4650091e5a0d4d000000005a5a",
- "bg_target_high": 90,
- "sensitivity": 30,
- "carb_ratio": 9,
- "food_estimate": 7.7,
- "unabsorbed_insulin_total": 0.0,
- "correction_estimate": 1.3,
- "carb_input": 70,
- "_head": "5b82",
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "bolus_estimate": 9.0,
- "_date": "34440e0311",
- "bg_target_low": 90
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-03T14:04:35 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-03T14:04:35+01:00",
- "_body": "",
- "_head": "0a82",
- "amount": 130,
- "_date": "23442e0311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:03:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:03:56+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "38430e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:03:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:03:56+01:00",
- "_body": "00",
- "_head": "33a6",
- "rate": 4.15,
- "_date": "38430e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T14:03:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:03:01+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "01430e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:03:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:03:01+01:00",
- "_body": "00",
- "_head": "3372",
- "rate": 2.85,
- "_date": "01430e4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T13:57:33 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:57:33+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "21790d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:57:33 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:57:33+01:00",
- "_body": "00",
- "_head": "333e",
- "rate": 1.55,
- "_date": "21790d4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T13:53:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:53:14+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "0e750d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:53:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:53:14+01:00",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "0e750d4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T13:42:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:42:29+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "1d6a0d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:42:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:42:29+01:00",
- "_body": "00",
- "_head": "33d3",
- "rate": 5.275,
- "_date": "1d6a0d4311"
- },
- {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-03T13:40:41 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:40:41+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "29680d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:40:41 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:40:41+01:00",
- "_body": "00",
- "_head": "33a8",
- "rate": 4.2,
- "_date": "29680d4311"
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/pumphistory-24h.json b/app/src/main/java/info/nightscout/sampleData/settings/pumphistory-24h.json
deleted file mode 100644
index 4513d0796d..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/pumphistory-24h.json
+++ /dev/null
@@ -1,4075 +0,0 @@
-[
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:37:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:37:57",
- "_body": "",
- "_head": "1601",
- "_date": "3965104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:37:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:37:57",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3965104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:28:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:28:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:28:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:28:28",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1c5c104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:21:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:21:31",
- "_body": "",
- "_head": "1601",
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:21:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:21:31",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "1f55104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:15:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:15:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:15:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:15:29",
- "_body": "00",
- "_head": "3362",
- "rate": 2.45,
- "_date": "1d4f104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:08:41 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:08:41",
- "_body": "",
- "_head": "1601",
- "_date": "2948104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:08:41 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:08:41",
- "_body": "00",
- "_head": "334e",
- "rate": 1.95,
- "_date": "2948104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:06:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:06:50",
- "_body": "",
- "_head": "1601",
- "_date": "3246104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:06:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:06:50",
- "_body": "00",
- "_head": "3332",
- "rate": 1.25,
- "_date": "3246104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:02:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:02:03",
- "_body": "",
- "_head": "1601",
- "_date": "0342104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:02:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:02:03",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "0342104411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T16:01:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:01:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c41104411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:01:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:01:28",
- "_body": "00",
- "_head": "3396",
- "rate": 3.75,
- "_date": "1c41104411"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T15:58:37 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T15:58:37",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "257a4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:55:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:55:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:55:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:55:29",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "1d770f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:46:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:46:50",
- "_body": "",
- "_head": "1601",
- "_date": "326e0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:46:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:46:50",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "326e0f4411"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T15:44:07 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T15:44:07",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "076c4f0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:43:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:43:50",
- "_body": "",
- "_head": "1601",
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:43:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:43:50",
- "_body": "00",
- "_head": "3341",
- "rate": 1.625,
- "_date": "326b0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:41:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:41:22",
- "_body": "",
- "_head": "1601",
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:41:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:41:22",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "16690f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:28:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:28:24",
- "_body": "",
- "_head": "1601",
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:28:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:28:24",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "185c0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:22:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:22:58",
- "_body": "",
- "_head": "1601",
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:22:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:22:58",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3a560f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T15:13:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T15:13:01",
- "_body": "",
- "_head": "1601",
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T15:13:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T15:13:01",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "014d0f4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:50:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:50:21",
- "_body": "",
- "_head": "1601",
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:50:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:50:21",
- "_body": "00",
- "_head": "33fb",
- "rate": 6.275,
- "_date": "15720e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:38:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:38:50",
- "_body": "",
- "_head": "1601",
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:38:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:38:50",
- "_body": "00",
- "_head": "33e7",
- "rate": 5.775,
- "_date": "32660e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:34:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:34:03",
- "_body": "",
- "_head": "1601",
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:34:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:34:03",
- "_body": "00",
- "_head": "3344",
- "rate": 1.7,
- "_date": "03620e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:33:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:33:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d610e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:33:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:33:29",
- "_body": "00",
- "_head": "3392",
- "rate": 3.65,
- "_date": "1d610e4411"
- },
- {
- "programmed": 1.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T14:32:05 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T14:32:05",
- "_body": "",
- "_head": "010a0a00",
- "amount": 1.0,
- "_date": "05604e0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:26:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:26:30",
- "_body": "",
- "_head": "1601",
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:26:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:26:30",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "1e5a0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:25:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:25:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f590e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:25:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:25:47",
- "_body": "00",
- "_head": "3378",
- "rate": 3.0,
- "_date": "2f590e4411"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T14:22:59 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T14:22:59",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "3b564e0411"
- },
- {
- "_type": "Prime",
- "type": "manual",
- "_description": "Prime 2017-01-04T14:18:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:18:15",
- "_body": "",
- "fixed": 0.0,
- "_head": "0300000027",
- "amount": 3.9,
- "_date": "0f522e0411"
- },
- {
- "_type": "Rewind",
- "_description": "Rewind 2017-01-04T14:18:03 head[2], body[0] op[0x21]",
- "timestamp": "2017-01-04T14:18:03",
- "_body": "",
- "_head": "2100",
- "_date": "03520e0411"
- },
- {
- "_type": "Prime",
- "type": "fixed",
- "_description": "Prime 2017-01-04T14:17:15 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:17:15",
- "_body": "",
- "fixed": 1.0,
- "_head": "03000a000a",
- "amount": 1.0,
- "_date": "0f510e0411"
- },
- {
- "_type": "Prime",
- "type": "fixed",
- "_description": "Prime 2017-01-04T14:14:56 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T14:14:56",
- "_body": "",
- "fixed": 2.5,
- "_head": "0300190019",
- "amount": 2.5,
- "_date": "384e0e0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:14:32 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:14:32",
- "_body": "",
- "_head": "1601",
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:14:32 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:14:32",
- "_body": "00",
- "_head": "3346",
- "rate": 1.75,
- "_date": "204e0e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T14:09:45 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T14:09:45",
- "_body": "",
- "_head": "1601",
- "_date": "2d490e4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T14:09:45 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T14:09:45",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "2d490e4411"
- },
- {
- "_type": "ClearAlarm",
- "_description": "ClearAlarm 2017-01-04T14:04:16 head[2], body[0] op[0x0c]",
- "timestamp": "2017-01-04T14:04:16",
- "_body": "",
- "_head": "0c04",
- "_date": "10440e0411"
- },
- {
- "_type": "AlarmPump",
- "_description": "AlarmPump 2017-01-04T14:04:05 head[4], body[0] op[0x06]",
- "timestamp": "2017-01-04T14:04:05",
- "_body": "",
- "_head": "06040bff",
- "_date": "05444e4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:57:38 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:57:38",
- "_body": "",
- "_head": "1601",
- "_date": "26790d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:57:38 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:57:38",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "26790d4411"
- },
- {
- "programmed": 1.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T13:53:05 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T13:53:05",
- "_body": "",
- "_head": "010a0a00",
- "amount": 1.0,
- "_date": "05754d0411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:47:51 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:47:51",
- "_body": "",
- "_head": "1601",
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:47:51 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:47:51",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "336f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:43:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:43:53",
- "_body": "",
- "_head": "1601",
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:43:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:43:53",
- "_body": "00",
- "_head": "3355",
- "rate": 2.125,
- "_date": "356b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:40:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:40:04",
- "_body": "",
- "_head": "1601",
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:40:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:40:04",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "04680d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:27:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:46",
- "_body": "",
- "_head": "1601",
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:46",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "2e5b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:27:00 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:27:00",
- "_body": "",
- "_head": "1601",
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:27:00 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:27:00",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "005b0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:20:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:20:49",
- "_body": "",
- "_head": "1601",
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:20:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:20:49",
- "_body": "00",
- "_head": "332d",
- "rate": 1.125,
- "_date": "31540d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:15:40 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:40",
- "_body": "",
- "_head": "1601",
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:40 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:40",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "284f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:15:31 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:15:31",
- "_body": "",
- "_head": "1601",
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:15:31 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:15:31",
- "_body": "00",
- "_head": "3373",
- "rate": 2.875,
- "_date": "1f4f0d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:08:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:08:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:08:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:08:29",
- "_body": "00",
- "_head": "332c",
- "rate": 1.1,
- "_date": "1d480d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T13:03:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T13:03:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T13:03:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T13:03:28",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1c430d4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:57:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:57:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:57:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:57:44",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "2c790c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:47:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:47:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:47:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:47:29",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "1d6f0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:35:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:35:30",
- "_body": "",
- "_head": "1601",
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:35:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:35:30",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1e630c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:23:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:23:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:23:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:23:47",
- "_body": "00",
- "_head": "33b5",
- "rate": 4.525,
- "_date": "2f570c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:18:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:18:48",
- "_body": "",
- "_head": "1601",
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:18:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:18:48",
- "_body": "00",
- "_head": "334a",
- "rate": 1.85,
- "_date": "30520c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:13:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:13:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:13:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:13:29",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "1d4d0c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T12:08:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T12:08:07",
- "_body": "",
- "_head": "1601",
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T12:08:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T12:08:07",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "07480c4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T11:55:46 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:55:46",
- "_body": "",
- "_head": "1601",
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:55:46 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:55:46",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2e770b4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T11:42:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:42:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c6a0b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:42:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:42:44",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2c6a0b4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T11:31:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:31:27",
- "_body": "",
- "_head": "1601",
- "_date": "1b5f0b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:31:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:31:27",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1b5f0b4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T11:19:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T11:19:25",
- "_body": "",
- "_head": "1601",
- "_date": "19530b4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T11:19:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T11:19:25",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "19530b4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:58:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:58:19",
- "_body": "",
- "_head": "1601",
- "_date": "137a0a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:58:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:58:19",
- "_body": "00",
- "_head": "33c9",
- "rate": 5.025,
- "_date": "137a0a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:52:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:52:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c740a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:52:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:52:44",
- "_body": "00",
- "_head": "33a8",
- "rate": 4.2,
- "_date": "2c740a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:48:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:48:19",
- "_body": "",
- "_head": "1601",
- "_date": "13700a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:48:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:48:19",
- "_body": "00",
- "_head": "3380",
- "rate": 3.2,
- "_date": "13700a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:33:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:33:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e610a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:33:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:33:14",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "0e610a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:27:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:27:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c5b0a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:27:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:27:44",
- "_body": "00",
- "_head": "334a",
- "rate": 1.85,
- "_date": "2c5b0a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:23:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:23:49",
- "_body": "",
- "_head": "1601",
- "_date": "31570a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:23:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:23:49",
- "_body": "00",
- "_head": "3310",
- "rate": 0.4,
- "_date": "31570a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:18:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:18:26",
- "_body": "",
- "_head": "1601",
- "_date": "1a520a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:18:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:18:26",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1a520a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:08:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:08:25",
- "_body": "",
- "_head": "1601",
- "_date": "19480a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:08:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:08:25",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "19480a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T10:03:08 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T10:03:08",
- "_body": "",
- "_head": "1601",
- "_date": "08430a4411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T10:03:08 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T10:03:08",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "08430a4411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T09:45:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:45:24",
- "_body": "",
- "_head": "1601",
- "_date": "186d094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:45:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:45:24",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "186d094411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T09:33:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:33:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e61094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:33:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:33:14",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0e61094411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T09:32:28 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:32:28",
- "_body": "",
- "_head": "1601",
- "_date": "1c60094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:32:28 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:32:28",
- "_body": "00",
- "_head": "3324",
- "rate": 0.9,
- "_date": "1c60094411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T09:18:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:18:26",
- "_body": "",
- "_head": "1601",
- "_date": "1a52094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:18:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:18:26",
- "_body": "00",
- "_head": "3336",
- "rate": 1.35,
- "_date": "1a52094411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T09:01:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:01:07",
- "_body": "",
- "_head": "1601",
- "_date": "0741094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:01:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:01:07",
- "_body": "00",
- "_head": "3336",
- "rate": 1.35,
- "_date": "0741094411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T09:00:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T09:00:27",
- "_body": "",
- "_head": "1601",
- "_date": "1b40094411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T09:00:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T09:00:27",
- "_body": "00",
- "_head": "33d3",
- "rate": 5.275,
- "_date": "1b40094411"
- },
- {
- "programmed": 8.5,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-04T08:53:23 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-04T08:53:23",
- "_body": "",
- "_head": "01555500",
- "amount": 8.5,
- "_date": "1775480411"
- },
- {
- "_type": "BolusWizard",
- "bg": 98,
- "bg_target_high": 90,
- "correction_estimate": 0.2,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-04T08:53:23 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-04T08:53:23",
- "_body": "3c50071e5a025500000000575a",
- "carb_input": 60,
- "_head": "5b62",
- "unabsorbed_insulin_total": 0.0,
- "_byte[5]": 2,
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "_date": "1775080411",
- "bolus_estimate": 8.7,
- "unknown_byte[8]": 0,
- "carb_ratio": 7,
- "food_estimate": 8.5,
- "bg_target_low": 90,
- "sensitivity": 30
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-04T08:53:09 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-04T08:53:09",
- "_body": "",
- "_head": "0a62",
- "amount": 98,
- "_date": "0975280411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T08:49:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:49:26",
- "_body": "",
- "_head": "1601",
- "_date": "1a71084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:49:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:49:26",
- "_body": "00",
- "_head": "3397",
- "rate": 3.775,
- "_date": "1a71084411"
- },
- {
- "_type": "Prime",
- "type": "manual",
- "_description": "Prime 2017-01-04T08:47:41 head[5], body[0] op[0x03]",
- "timestamp": "2017-01-04T08:47:41",
- "_body": "",
- "fixed": 0.0,
- "_head": "0300000035",
- "amount": 5.3,
- "_date": "296f280411"
- },
- {
- "_type": "Rewind",
- "_description": "Rewind 2017-01-04T08:46:39 head[2], body[0] op[0x21]",
- "timestamp": "2017-01-04T08:46:39",
- "_body": "",
- "_head": "2100",
- "_date": "276e080411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T08:35:51 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:35:51",
- "_body": "",
- "_head": "1601",
- "_date": "3363084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:35:51 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:35:51",
- "_body": "00",
- "_head": "3364",
- "rate": 2.5,
- "_date": "3363084411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T08:16:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:16:25",
- "_body": "",
- "_head": "1601",
- "_date": "1950084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:16:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:16:25",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1950084411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T08:02:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T08:02:26",
- "_body": "",
- "_head": "1601",
- "_date": "1a42084411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T08:02:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T08:02:26",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1a42084411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T07:49:32 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:49:32",
- "_body": "",
- "_head": "1601",
- "_date": "2071074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:49:32 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:49:32",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "2071074411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T07:37:12 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:37:12",
- "_body": "",
- "_head": "1601",
- "_date": "0c65074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:37:12 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:37:12",
- "_body": "00",
- "_head": "335e",
- "rate": 2.35,
- "_date": "0c65074411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T07:29:09 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:29:09",
- "_body": "",
- "_head": "1601",
- "_date": "095d074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:29:09 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:29:09",
- "_body": "00",
- "_head": "3341",
- "rate": 1.625,
- "_date": "095d074411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T07:13:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T07:13:03",
- "_body": "",
- "_head": "1601",
- "_date": "034d074411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T07:13:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T07:13:03",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "034d074411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T06:55:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:55:25",
- "_body": "",
- "_head": "1601",
- "_date": "1977064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:55:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:55:25",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "1977064411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T06:39:20 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:39:20",
- "_body": "",
- "_head": "1601",
- "_date": "1467064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:39:20 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:39:20",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "1467064411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T06:13:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:13:02",
- "_body": "",
- "_head": "1601",
- "_date": "024d064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:13:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:13:02",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "024d064411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T06:05:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T06:05:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f45064411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T06:05:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T06:05:47",
- "_body": "00",
- "_head": "334e",
- "rate": 1.95,
- "_date": "2f45064411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:57:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:57:53",
- "_body": "",
- "_head": "1601",
- "_date": "3579054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:57:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:57:53",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "3579054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:48:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:48:01",
- "_body": "",
- "_head": "1601",
- "_date": "0170054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:48:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:48:01",
- "_body": "00",
- "_head": "3351",
- "rate": 2.025,
- "_date": "0170054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:44:11 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:44:11",
- "_body": "",
- "_head": "1601",
- "_date": "0b6c054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:44:11 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:44:11",
- "_body": "00",
- "_head": "339a",
- "rate": 3.85,
- "_date": "0b6c054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:42:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:42:18",
- "_body": "",
- "_head": "1601",
- "_date": "126a054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:42:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:42:18",
- "_body": "00",
- "_head": "3372",
- "rate": 2.85,
- "_date": "126a054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:27:12 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:27:12",
- "_body": "",
- "_head": "1601",
- "_date": "0c5b054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:27:12 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:27:12",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "0c5b054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:24:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:24:13",
- "_body": "",
- "_head": "1601",
- "_date": "0d58054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:24:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:24:13",
- "_body": "00",
- "_head": "334b",
- "rate": 1.875,
- "_date": "0d58054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:19:49 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:19:49",
- "_body": "",
- "_head": "1601",
- "_date": "3153054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:19:49 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:19:49",
- "_body": "00",
- "_head": "333c",
- "rate": 1.5,
- "_date": "3153054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T05:07:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T05:07:57",
- "_body": "",
- "_head": "1601",
- "_date": "3947054411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T05:07:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T05:07:57",
- "_body": "00",
- "_head": "3339",
- "rate": 1.425,
- "_date": "3947054411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T04:58:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:58:02",
- "_body": "",
- "_head": "1601",
- "_date": "027a044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:58:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:58:02",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "027a044411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T04:52:15 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:52:15",
- "_body": "",
- "_head": "1601",
- "_date": "0f74044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:52:15 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:52:15",
- "_body": "00",
- "_head": "333e",
- "rate": 1.55,
- "_date": "0f74044411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T04:32:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:32:13",
- "_body": "",
- "_head": "1601",
- "_date": "0d60044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:32:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:32:13",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0d60044411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T04:13:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:13:58",
- "_body": "",
- "_head": "1601",
- "_date": "3a4d044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:13:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:13:58",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "3a4d044411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T04:02:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T04:02:18",
- "_body": "",
- "_head": "1601",
- "_date": "1242044411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T04:02:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T04:02:18",
- "_body": "00",
- "_head": "335b",
- "rate": 2.275,
- "_date": "1242044411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:57:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:57:54",
- "_body": "",
- "_head": "1601",
- "_date": "3679034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:57:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:57:54",
- "_body": "00",
- "_head": "3337",
- "rate": 1.375,
- "_date": "3679034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:50:05 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:50:05",
- "_body": "",
- "_head": "1601",
- "_date": "0572034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:50:05 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:50:05",
- "_body": "00",
- "_head": "332c",
- "rate": 1.1,
- "_date": "0572034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:38:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:38:04",
- "_body": "",
- "_head": "1601",
- "_date": "0466034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:38:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:38:04",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "0466034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:34:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:34:07",
- "_body": "",
- "_head": "1601",
- "_date": "0762034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:34:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:34:07",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "0762034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:32:16 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:32:16",
- "_body": "",
- "_head": "1601",
- "_date": "1060034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:32:16 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:32:16",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1060034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:28:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:28:18",
- "_body": "",
- "_head": "1601",
- "_date": "125c034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:28:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:28:18",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "125c034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:23:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:23:59",
- "_body": "",
- "_head": "1601",
- "_date": "3b57034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:23:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:23:59",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3b57034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:15:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:15:58",
- "_body": "",
- "_head": "1601",
- "_date": "3a4f034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:15:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:15:58",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "3a4f034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:09:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:09:54",
- "_body": "",
- "_head": "1601",
- "_date": "3649034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:09:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:09:54",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "3649034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T03:04:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T03:04:59",
- "_body": "",
- "_head": "1601",
- "_date": "3b44034411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T03:04:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T03:04:59",
- "_body": "00",
- "_head": "333c",
- "rate": 1.5,
- "_date": "3b44034411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T02:53:05 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:53:05",
- "_body": "",
- "_head": "1601",
- "_date": "0575024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:53:05 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:53:05",
- "_body": "00",
- "_head": "3332",
- "rate": 1.25,
- "_date": "0575024411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T02:50:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:50:55",
- "_body": "",
- "_head": "1601",
- "_date": "3772024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:50:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:50:55",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "3772024411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T02:37:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:37:22",
- "_body": "",
- "_head": "1601",
- "_date": "1665024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:37:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:37:22",
- "_body": "00",
- "_head": "3312",
- "rate": 0.45,
- "_date": "1665024411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T02:34:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:34:59",
- "_body": "",
- "_head": "1601",
- "_date": "3b62024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:34:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:34:59",
- "_body": "00",
- "_head": "3320",
- "rate": 0.8,
- "_date": "3b62024411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T02:23:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:23:02",
- "_body": "",
- "_head": "1601",
- "_date": "0257024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:23:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:23:02",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "0257024411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T02:07:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T02:07:22",
- "_body": "",
- "_head": "1601",
- "_date": "1647024411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T02:07:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T02:07:22",
- "_body": "00",
- "_head": "3383",
- "rate": 3.275,
- "_date": "1647024411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:57:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:57:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f79014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:57:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:57:47",
- "_body": "00",
- "_head": "336c",
- "rate": 2.7,
- "_date": "2f79014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:52:18 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:52:18",
- "_body": "",
- "_head": "1601",
- "_date": "1274014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:52:18 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:52:18",
- "_body": "00",
- "_head": "3351",
- "rate": 2.025,
- "_date": "1274014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:50:04 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:50:04",
- "_body": "",
- "_head": "1601",
- "_date": "0472014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:50:04 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:50:04",
- "_body": "00",
- "_head": "338a",
- "rate": 3.45,
- "_date": "0472014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:38:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:38:02",
- "_body": "",
- "_head": "1601",
- "_date": "0266014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:38:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:38:02",
- "_body": "00",
- "_head": "3388",
- "rate": 3.4,
- "_date": "0266014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:32:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:32:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e60014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:32:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:32:14",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "0e60014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:27:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:27:55",
- "_body": "",
- "_head": "1601",
- "_date": "375b014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:27:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:27:55",
- "_body": "00",
- "_head": "3354",
- "rate": 2.1,
- "_date": "375b014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:22:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:22:27",
- "_body": "",
- "_head": "1601",
- "_date": "1b56014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:22:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:22:27",
- "_body": "00",
- "_head": "3340",
- "rate": 1.6,
- "_date": "1b56014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:18:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:18:07",
- "_body": "",
- "_head": "1601",
- "_date": "0752014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:18:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:18:07",
- "_body": "00",
- "_head": "332f",
- "rate": 1.175,
- "_date": "0752014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T01:13:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T01:13:54",
- "_body": "",
- "_head": "1601",
- "_date": "364d014411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T01:13:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T01:13:54",
- "_body": "00",
- "_head": "3325",
- "rate": 0.925,
- "_date": "364d014411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:55:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:55:59",
- "_body": "",
- "_head": "1601",
- "_date": "3b77004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:55:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:55:59",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3b77004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:44:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:44:48",
- "_body": "",
- "_head": "1601",
- "_date": "306c004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:44:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:44:48",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "306c004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:33:20 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:33:20",
- "_body": "",
- "_head": "1601",
- "_date": "1461004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:33:20 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:33:20",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1461004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:30:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:30:57",
- "_body": "",
- "_head": "1601",
- "_date": "395e004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:30:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:30:57",
- "_body": "00",
- "_head": "3382",
- "rate": 3.25,
- "_date": "395e004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:23:08 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:23:08",
- "_body": "",
- "_head": "1601",
- "_date": "0857004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:23:08 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:23:08",
- "_body": "00",
- "_head": "334b",
- "rate": 1.875,
- "_date": "0857004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:21:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:21:10",
- "_body": "",
- "_head": "1601",
- "_date": "0a55004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:21:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:21:10",
- "_body": "00",
- "_head": "3334",
- "rate": 1.3,
- "_date": "0a55004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:17:20 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:17:20",
- "_body": "",
- "_head": "1601",
- "_date": "1451004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:17:20 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:17:20",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "1451004411"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-04T00:07:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T00:07:10",
- "_body": "",
- "_head": "1601",
- "_date": "0a47004411"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T00:07:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T00:07:10",
- "_body": "00",
- "_head": "33d2",
- "rate": 5.25,
- "_date": "0a47004411"
- },
- {
- "_type": "Model522ResultTotals",
- "_description": "Model522ResultTotals 2017-01-04T00:00:00 head[1], body[41] op[0x6d]",
- "timestamp": "2017-01-04T00:00:00",
- "_body": "0500695a820400000c2804f82907303b00e107303b04403b00480402a8250a020002060c00e8000000",
- "_head": "6d",
- "_date": "0391"
- },
- {
- "_type": "ResultDailyTotal",
- "_description": "ResultDailyTotal 2017-01-04T00:00:00 head[5], body[0] op[0x07]",
- "timestamp": "2017-01-04T00:00:00",
- "_body": "",
- "valid_date": "2017-01-03",
- "_head": "0700000c28",
- "_date": "0391"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:57:37 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:57:37",
- "_body": "",
- "_head": "1601",
- "_date": "2579174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:57:37 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:57:37",
- "_body": "00",
- "_head": "33aa",
- "rate": 4.25,
- "_date": "2579174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:53:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:53:56",
- "_body": "",
- "_head": "1601",
- "_date": "3875174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:53:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:53:56",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "3875174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:42:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:42:13",
- "_body": "",
- "_head": "1601",
- "_date": "0d6a174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:42:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:42:13",
- "_body": "00",
- "_head": "3368",
- "rate": 2.6,
- "_date": "0d6a174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:38:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:38:13",
- "_body": "",
- "_head": "1601",
- "_date": "0d66174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:38:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:38:13",
- "_body": "00",
- "_head": "3351",
- "rate": 2.025,
- "_date": "0d66174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:33:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:33:48",
- "_body": "",
- "_head": "1601",
- "_date": "3061174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:33:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:33:48",
- "_body": "00",
- "_head": "331e",
- "rate": 0.75,
- "_date": "3061174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:22:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:22:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e56174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:22:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:22:14",
- "_body": "00",
- "_head": "331a",
- "rate": 0.65,
- "_date": "0e56174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:12:12 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:12:12",
- "_body": "",
- "_head": "1601",
- "_date": "0c4c174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:12:12 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:12:12",
- "_body": "00",
- "_head": "339a",
- "rate": 3.85,
- "_date": "0c4c174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:10:13 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:10:13",
- "_body": "",
- "_head": "1601",
- "_date": "0d4a174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:10:13 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:10:13",
- "_body": "00",
- "_head": "336e",
- "rate": 2.75,
- "_date": "0d4a174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:08:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:08:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e48174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:08:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:08:14",
- "_body": "00",
- "_head": "333e",
- "rate": 1.55,
- "_date": "0e48174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:05:07 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:05:07",
- "_body": "",
- "_head": "1601",
- "_date": "0745174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:05:07 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:05:07",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "0745174311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T23:04:47 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T23:04:47",
- "_body": "",
- "_head": "1601",
- "_date": "2f44174311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T23:04:47 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T23:04:47",
- "_body": "00",
- "_head": "33c9",
- "rate": 5.025,
- "_date": "2f44174311"
- },
- {
- "programmed": 3.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-03T23:02:21 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-03T23:02:21",
- "_body": "",
- "_head": "011e1e00",
- "amount": 3.0,
- "_date": "1542570311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:57:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:57:19",
- "_body": "",
- "_head": "1601",
- "_date": "1379164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:57:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:57:19",
- "_body": "00",
- "_head": "337c",
- "rate": 3.1,
- "_date": "1379164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:52:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:52:52",
- "_body": "",
- "_head": "1601",
- "_date": "3474164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:52:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:52:52",
- "_body": "00",
- "_head": "3340",
- "rate": 1.6,
- "_date": "3474164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:46:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:46:10",
- "_body": "",
- "_head": "1601",
- "_date": "0a6e164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:46:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:46:10",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0a6e164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:44:16 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:44:16",
- "_body": "",
- "_head": "1601",
- "_date": "106c164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:44:16 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:44:16",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "106c164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:41:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:41:55",
- "_body": "",
- "_head": "1601",
- "_date": "3769164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:41:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:41:55",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "3769164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:29:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:29:55",
- "_body": "",
- "_head": "1601",
- "_date": "375d164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:29:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:29:55",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "375d164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:16:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:16:25",
- "_body": "",
- "_head": "1601",
- "_date": "1950164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:16:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:16:25",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1950164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T22:04:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T22:04:03",
- "_body": "",
- "_head": "1601",
- "_date": "0344164311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T22:04:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T22:04:03",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0344164311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T21:54:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:54:01",
- "_body": "",
- "_head": "1601",
- "_date": "0176154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:54:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:54:01",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "0176154311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T21:37:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:37:25",
- "_body": "",
- "_head": "1601",
- "_date": "1965154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:37:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:37:25",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1965154311"
- },
- {
- "programmed": 3.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-03T21:28:28 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-03T21:28:28",
- "_body": "",
- "_head": "011e1e00",
- "amount": 3.0,
- "_date": "1c5c550311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T21:19:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:19:24",
- "_body": "",
- "_head": "1601",
- "_date": "1853154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:19:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:19:24",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1853154311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T21:03:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T21:03:50",
- "_body": "",
- "_head": "1601",
- "_date": "3243154311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T21:03:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T21:03:50",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3243154311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T20:57:24 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T20:57:24",
- "_body": "",
- "appended": [
- {
- "_type": "UnabsorbedInsulinBolus",
- "_description": "UnabsorbedInsulinBolus unknown head[23], body[0] op[0x5c]",
- "data": [
- {
- "amount": 3.0,
- "age": 148
- },
- {
- "amount": 4.5,
- "age": 248
- },
- {
- "amount": 3.05,
- "age": 288
- },
- {
- "amount": 0.95,
- "age": 298
- },
- {
- "amount": 2.0,
- "age": 318
- },
- {
- "amount": 3.1,
- "age": 408
- },
- {
- "amount": 5.9,
- "age": 418
- }
- ],
- "_body": "",
- "_head": "5c177894c0b4f8c07a20d0262ad0503ed07c98d0eca2d0",
- "_date": ""
- }
- ],
- "programmed": 7.0,
- "_head": "01464600",
- "amount": 7.0,
- "duration": 0,
- "type": "normal",
- "_date": "1879540311"
- },
- {
- "_type": "BolusWizard",
- "bg": 90,
- "bg_target_high": 90,
- "correction_estimate": 0.0,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-03T20:57:24 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-03T20:57:24",
- "_body": "3750091e5a003d000004003d5a",
- "carb_input": 55,
- "_head": "5b5a",
- "unabsorbed_insulin_total": 0.4,
- "_byte[5]": 0,
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "_date": "1879140311",
- "bolus_estimate": 6.1,
- "unknown_byte[8]": 0,
- "carb_ratio": 9,
- "food_estimate": 6.1,
- "bg_target_low": 90,
- "sensitivity": 30
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-03T20:57:06 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-03T20:57:06",
- "_body": "",
- "_head": "0a5a",
- "amount": 90,
- "_date": "0679340311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T20:29:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T20:29:56",
- "_body": "",
- "_head": "1601",
- "_date": "385d144311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T20:29:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T20:29:56",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "385d144311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T20:01:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T20:01:26",
- "_body": "",
- "_head": "1601",
- "_date": "1a41144311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T20:01:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T20:01:26",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "1a41144311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T19:48:02 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:48:02",
- "_body": "",
- "_head": "1601",
- "_date": "0270134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:48:02 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:48:02",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0270134311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T19:34:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:34:24",
- "_body": "",
- "_head": "1601",
- "_date": "1862134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:34:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:34:24",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1862134311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T19:23:24 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:23:24",
- "_body": "",
- "_head": "1601",
- "_date": "1857134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:23:24 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:23:24",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "1857134311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T19:17:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:17:59",
- "_body": "",
- "_head": "1601",
- "_date": "3b51134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:17:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:17:59",
- "_body": "00",
- "_head": "334b",
- "rate": 1.875,
- "_date": "3b51134311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T19:08:00 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T19:08:00",
- "_body": "",
- "_head": "1601",
- "_date": "0048134311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T19:08:00 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T19:08:00",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "0048134311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:57:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:57:52",
- "_body": "",
- "_head": "1601",
- "_date": "3479124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:57:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:57:52",
- "_body": "00",
- "_head": "335b",
- "rate": 2.275,
- "_date": "3479124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:54:25 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:54:25",
- "_body": "",
- "_head": "1601",
- "_date": "1976124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:54:25 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:54:25",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1976124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:48:50 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:48:50",
- "_body": "",
- "_head": "1601",
- "_date": "3270124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:48:50 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:48:50",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3270124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:45:26 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:45:26",
- "_body": "",
- "_head": "1601",
- "_date": "1a6d124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:45:26 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:45:26",
- "_body": "00",
- "_head": "3328",
- "rate": 1.0,
- "_date": "1a6d124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:34:48 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:34:48",
- "_body": "",
- "_head": "1601",
- "_date": "3062124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:34:48 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:34:48",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3062124311"
- },
- {
- "programmed": 3.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-03T18:30:43 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-03T18:30:43",
- "_body": "",
- "_head": "011e1e00",
- "amount": 3.0,
- "_date": "2b5e520311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:20:35 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:20:35",
- "_body": "",
- "_head": "1601",
- "_date": "2354124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:20:35 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:20:35",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "2354124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:13:27 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:13:27",
- "_body": "",
- "_head": "1601",
- "_date": "1b4d124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:13:27 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:13:27",
- "_body": "00",
- "_head": "3310",
- "rate": 0.4,
- "_date": "1b4d124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:08:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:08:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e48124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:08:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:08:14",
- "_body": "00",
- "_head": "335f",
- "rate": 2.375,
- "_date": "0e48124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T18:07:19 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T18:07:19",
- "_body": "",
- "_head": "1601",
- "_date": "1347124311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T18:07:19 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T18:07:19",
- "_body": "00",
- "_head": "3322",
- "rate": 0.85,
- "_date": "1347124311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T17:55:55 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:55:55",
- "_body": "",
- "_head": "1601",
- "_date": "3777114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:55:55 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:55:55",
- "_body": "00",
- "_head": "33c6",
- "rate": 4.95,
- "_date": "3777114311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T17:43:16 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:43:16",
- "_body": "",
- "_head": "1601",
- "_date": "106b114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:43:16 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:43:16",
- "_body": "00",
- "_head": "33aa",
- "rate": 4.25,
- "_date": "106b114311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T17:35:58 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:35:58",
- "_body": "",
- "_head": "1601",
- "_date": "3a63114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:35:58 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:35:58",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "3a63114311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T17:18:03 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:18:03",
- "_body": "",
- "_head": "1601",
- "_date": "0352114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:18:03 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:18:03",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "0352114311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T17:12:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T17:12:52",
- "_body": "",
- "_head": "1601",
- "_date": "344c114311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T17:12:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T17:12:52",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "344c114311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:55:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:55:21",
- "_body": "",
- "_head": "1601",
- "_date": "1577104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:55:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:55:21",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1577104311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:54:10 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:54:10",
- "_body": "",
- "_head": "1601",
- "_date": "0a76104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:54:10 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:54:10",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "0a76104311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T16:50:06 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T16:50:06",
- "_body": "",
- "appended": [
- {
- "_type": "UnabsorbedInsulinBolus",
- "_description": "UnabsorbedInsulinBolus unknown head[17], body[0] op[0x5c]",
- "data": [
- {
- "amount": 3.05,
- "age": 41
- },
- {
- "amount": 0.95,
- "age": 51
- },
- {
- "amount": 2.0,
- "age": 71
- },
- {
- "amount": 3.1,
- "age": 161
- },
- {
- "amount": 5.9,
- "age": 171
- }
- ],
- "_body": "",
- "_head": "5c117a29c02633c05047c07ca1c0ecabc0",
- "_date": ""
- }
- ],
- "programmed": 4.5,
- "_head": "012d2d00",
- "amount": 4.5,
- "duration": 0,
- "type": "normal",
- "_date": "0672500311"
- },
- {
- "_type": "BolusWizard",
- "bg": 111,
- "bg_target_high": 90,
- "correction_estimate": 0.7,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-03T16:50:06 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-03T16:50:06",
- "_body": "2850091e5a072c000035002c5a",
- "carb_input": 40,
- "_head": "5b6f",
- "unabsorbed_insulin_total": 5.3,
- "_byte[5]": 7,
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "_date": "0672100311",
- "bolus_estimate": 4.4,
- "unknown_byte[8]": 0,
- "carb_ratio": 9,
- "food_estimate": 4.4,
- "bg_target_low": 90,
- "sensitivity": 30
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-03T16:49:56 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-03T16:49:56",
- "_body": "",
- "_head": "0a6f",
- "amount": 111,
- "_date": "3871300311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:36:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:36:22",
- "_body": "",
- "_head": "1601",
- "_date": "1664104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:36:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:36:22",
- "_body": "00",
- "_head": "331b",
- "rate": 0.675,
- "_date": "1664104311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:27:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:27:52",
- "_body": "",
- "_head": "1601",
- "_date": "345b104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:27:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:27:52",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "345b104311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:11:40 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:11:40",
- "_body": "",
- "_head": "1601",
- "_date": "284b104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:11:40 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:11:40",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "284b104311"
- },
- {
- "programmed": 4.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-03T16:08:21 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-03T16:08:21",
- "_body": "",
- "_head": "01282800",
- "amount": 4.0,
- "_date": "1548500311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:07:59 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:07:59",
- "_body": "",
- "_head": "1601",
- "_date": "3b47104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:07:59 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:07:59",
- "_body": "00",
- "_head": "338d",
- "rate": 3.525,
- "_date": "3b47104311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T16:02:42 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T16:02:42",
- "_body": "",
- "_head": "1601",
- "_date": "2a42104311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T16:02:42 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T16:02:42",
- "_body": "00",
- "_head": "3348",
- "rate": 1.8,
- "_date": "2a42104311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:55:23 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:55:23",
- "_body": "",
- "_head": "1601",
- "_date": "17770f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:55:23 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:55:23",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "17770f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:44:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:44:53",
- "_body": "",
- "_head": "1601",
- "_date": "356c0f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:44:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:44:53",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "356c0f4311"
- },
- {
- "programmed": 2.0,
- "_type": "Bolus",
- "type": "normal",
- "_description": "Bolus 2017-01-03T15:42:20 head[4], body[0] op[0x01]",
- "duration": 0,
- "timestamp": "2017-01-03T15:42:20",
- "_body": "",
- "_head": "01141400",
- "amount": 2.0,
- "_date": "146a4f0311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:38:37 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:38:37",
- "_body": "",
- "_head": "1601",
- "_date": "25660f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:38:37 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:38:37",
- "_body": "00",
- "_head": "3376",
- "rate": 2.95,
- "_date": "25660f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:34:30 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:34:30",
- "_body": "",
- "_head": "1601",
- "_date": "1e620f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:34:30 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:34:30",
- "_body": "00",
- "_head": "3350",
- "rate": 2.0,
- "_date": "1e620f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:30:52 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:30:52",
- "_body": "",
- "_head": "1601",
- "_date": "345e0f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:30:52 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:30:52",
- "_body": "00",
- "_head": "3334",
- "rate": 1.3,
- "_date": "345e0f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:17:38 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:17:38",
- "_body": "",
- "_head": "1601",
- "_date": "26510f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:17:38 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:17:38",
- "_body": "00",
- "_head": "3314",
- "rate": 0.5,
- "_date": "26510f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:13:54 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:13:54",
- "_body": "",
- "_head": "1601",
- "_date": "364d0f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:13:54 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:13:54",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "364d0f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T15:02:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T15:02:56",
- "_body": "",
- "_head": "1601",
- "_date": "38420f4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T15:02:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T15:02:56",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "38420f4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:57:53 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:57:53",
- "_body": "",
- "_head": "1601",
- "_date": "35790e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:57:53 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:57:53",
- "_body": "00",
- "_head": "3312",
- "rate": 0.45,
- "_date": "35790e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:47:42 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:47:42",
- "_body": "",
- "_head": "1601",
- "_date": "2a6f0e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:47:42 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:47:42",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "2a6f0e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:41:21 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:41:21",
- "_body": "",
- "_head": "1601",
- "_date": "15690e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:41:21 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:41:21",
- "_body": "00",
- "_head": "3300",
- "rate": 0.0,
- "_date": "15690e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:24:44 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:24:44",
- "_body": "",
- "_head": "1601",
- "_date": "2c580e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:24:44 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:24:44",
- "_body": "00",
- "_head": "3317",
- "rate": 0.575,
- "_date": "2c580e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:13:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:13:22",
- "_body": "",
- "_head": "1601",
- "_date": "164d0e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:13:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:13:22",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "164d0e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:11:22 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:11:22",
- "_body": "",
- "_head": "1601",
- "_date": "164b0e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:11:22 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:11:22",
- "_body": "00",
- "_head": "332a",
- "rate": 1.05,
- "_date": "164b0e4311"
- },
- {
- "_type": "Bolus",
- "_description": "Bolus 2017-01-03T14:04:52 head[4], body[0] op[0x01]",
- "timestamp": "2017-01-03T14:04:52",
- "_body": "",
- "appended": [
- {
- "_type": "UnabsorbedInsulinBolus",
- "_description": "UnabsorbedInsulinBolus unknown head[11], body[0] op[0x5c]",
- "data": [
- {
- "amount": 2.0,
- "age": 315
- },
- {
- "amount": 0.85,
- "age": 355
- },
- {
- "amount": 1.25,
- "age": 365
- }
- ],
- "_body": "",
- "_head": "5c0b503bd02263d0326dd1",
- "_date": ""
- }
- ],
- "programmed": 9.0,
- "_head": "015a5a00",
- "amount": 9.0,
- "duration": 0,
- "type": "normal",
- "_date": "34444e0311"
- },
- {
- "_type": "BolusWizard",
- "bg": 130,
- "bg_target_high": 90,
- "correction_estimate": 1.3,
- "unknown_byte[10]": 0,
- "_description": "BolusWizard 2017-01-03T14:04:52 head[2], body[13] op[0x5b]",
- "timestamp": "2017-01-03T14:04:52",
- "_body": "4650091e5a0d4d000000005a5a",
- "carb_input": 70,
- "_head": "5b82",
- "unabsorbed_insulin_total": 0.0,
- "_byte[5]": 13,
- "unabsorbed_insulin_count": "??",
- "_byte[7]": 0,
- "_date": "34440e0311",
- "bolus_estimate": 9.0,
- "unknown_byte[8]": 0,
- "carb_ratio": 9,
- "food_estimate": 7.7,
- "bg_target_low": 90,
- "sensitivity": 30
- },
- {
- "_type": "CalBGForPH",
- "_description": "CalBGForPH 2017-01-03T14:04:35 head[2], body[0] op[0x0a]",
- "timestamp": "2017-01-03T14:04:35",
- "_body": "",
- "_head": "0a82",
- "amount": 130,
- "_date": "23442e0311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:03:56 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:03:56",
- "_body": "",
- "_head": "1601",
- "_date": "38430e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:03:56 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:03:56",
- "_body": "00",
- "_head": "33a6",
- "rate": 4.15,
- "_date": "38430e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T14:03:01 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T14:03:01",
- "_body": "",
- "_head": "1601",
- "_date": "01430e4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T14:03:01 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T14:03:01",
- "_body": "00",
- "_head": "3372",
- "rate": 2.85,
- "_date": "01430e4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T13:57:33 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:57:33",
- "_body": "",
- "_head": "1601",
- "_date": "21790d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:57:33 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:57:33",
- "_body": "00",
- "_head": "333e",
- "rate": 1.55,
- "_date": "21790d4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T13:53:14 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:53:14",
- "_body": "",
- "_head": "1601",
- "_date": "0e750d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:53:14 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:53:14",
- "_body": "00",
- "_head": "3316",
- "rate": 0.55,
- "_date": "0e750d4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T13:42:29 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:42:29",
- "_body": "",
- "_head": "1601",
- "_date": "1d6a0d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:42:29 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:42:29",
- "_body": "00",
- "_head": "33d3",
- "rate": 5.275,
- "_date": "1d6a0d4311"
- },
- {
- "_type": "TempBasalDuration",
- "duration (min)": 30,
- "_description": "TempBasalDuration 2017-01-03T13:40:41 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-03T13:40:41",
- "_body": "",
- "_head": "1601",
- "_date": "29680d4311"
- },
- {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-03T13:40:41 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-03T13:40:41",
- "_body": "00",
- "_head": "33a8",
- "rate": 4.2,
- "_date": "29680d4311"
- }
-]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/settings.json b/app/src/main/java/info/nightscout/sampleData/settings/settings.json
deleted file mode 100644
index 5a0fc0dc17..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/settings.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "low_reservoir_warn_point": 16,
- "keypad_lock_status": 0,
- "maxBasal": 6.3,
- "temp_basal": {
- "percent": 100,
- "type": "Units/hour"
- },
- "low_reservoir_warn_type": 1,
- "insulinConcentration": 100,
- "audio_bolus_enable": true,
- "variable_bolus_enable": true,
- "alarm": {
- "volume": -1,
- "mode": 1
- },
- "rf_enable": true,
- "auto_off_duration_hrs": 15,
- "block_enable": false,
- "timeformat": 1,
- "insulin_action_curve": 3,
- "audio_bolus_size": 1.0,
- "selected_pattern": 0,
- "patterns_enabled": true,
- "maxBolus": 12.0,
- "paradigm_enabled": 1
-}
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/settings/temptargets.json b/app/src/main/java/info/nightscout/sampleData/settings/temptargets.json
deleted file mode 100644
index 0637a088a0..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/settings/temptargets.json
+++ /dev/null
@@ -1 +0,0 @@
-[]
\ No newline at end of file
diff --git a/app/src/main/java/info/nightscout/sampleData/upload/index.html b/app/src/main/java/info/nightscout/sampleData/upload/index.html
deleted file mode 100644
index f331bc3192..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/upload/index.html
+++ /dev/null
@@ -1 +0,0 @@
-{"content":"148-21 16:36\n5.2U->-28-16\nTmp: 28m@0.0 at 16:40\nReq: None\nCOB: 0, Dev: -64, BGI: -8.2, ISF: 21, Target: 81; Eventual BG -28 < 81, setting -11.3U/hr, but 28m left and 0 ~ req 0U/hr: no action required\nSched: 0.60U/hr\nmealCOB: 0g\neddie\n","refresh_frequency":1}
diff --git a/app/src/main/java/info/nightscout/sampleData/upload/latest-treatments.json b/app/src/main/java/info/nightscout/sampleData/upload/latest-treatments.json
deleted file mode 100644
index a23d48aacb..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/upload/latest-treatments.json
+++ /dev/null
@@ -1,31 +0,0 @@
-[
- {
- "duration": "30",
- "raw_duration": {
- "_type": "TempBasalDuration",
- "_description": "TempBasalDuration 2017-01-04T16:37:57 head[2], body[0] op[0x16]",
- "timestamp": "2017-01-04T16:37:57+01:00",
- "_body": "",
- "_head": "1601",
- "duration (min)": 30,
- "_date": "3965104411"
- },
- "timestamp": "2017-01-04T16:37:57+01:00",
- "absolute": "0",
- "rate": 0,
- "raw_rate": {
- "_type": "TempBasal",
- "temp": "absolute",
- "_description": "TempBasal 2017-01-04T16:37:57 head[2], body[1] op[0x33]",
- "timestamp": "2017-01-04T16:37:57+01:00",
- "_body": "00",
- "_head": "3300",
- "rate": 0,
- "_date": "3965104411"
- },
- "eventType": "Temp Basal",
- "medtronic": "mm://openaps/mm-format-ns-treatments/Temp Basal",
- "created_at": "2017-01-04T16:37:57+01:00",
- "enteredBy": "openaps://medtronic/522"
- }
-]
diff --git a/app/src/main/java/info/nightscout/sampleData/upload/ns-status.json b/app/src/main/java/info/nightscout/sampleData/upload/ns-status.json
deleted file mode 100644
index 3e15d231f9..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/upload/ns-status.json
+++ /dev/null
@@ -1 +0,0 @@
-{"device":"openaps://eddie","openaps":{"iob":{"iob":5.521,"activity":0.077,"bolussnooze":1.574,"basaliob":1.893,"netbasalinsulin":5.05,"hightempinsulin":5.1,"timestamp":"2017-01-04T15:37:36.000Z"},"suggested":{"temp":"absolute","bg":148,"tick":-21,"eventualBG":-34,"snoozeBG":17,"COB":0,"IOB":5.521,"reason":"COB: 0, Dev: -64, BGI: -8.24, ISF: 21, Target: 81; Eventual BG -34 < 81, setting -11.1U/hr","duration":30,"rate":0,"timestamp":"2017-01-04T15:37:50.000Z"},"enacted":{"bg":148,"temp":"absolute","snoozeBG":17,"recieved":true,"predBGs":{"IOB":[148,128,109,91,75,59,45,39,39,39,39,39,39]},"rate":0,"reason":"COB: 0, Dev: -64, BGI: -8.24, ISF: 21, Target: 81; Eventual BG -34 < 81, setting -11.1U/hr","COB":0,"eventualBG":-34,"timestamp":"2017-01-04T15:37:56.000Z","duration":30,"tick":-21,"IOB":5.521}},"pump":{"clock":"2017-01-04T16:37:36+01:00","battery":{"status":"normal","voltage":1.45},"reservoir":120.5,"status":{"status":"normal","bolusing":false,"suspended":false,"timestamp":"2017-01-04T15:37:43.000Z"}},"mmtune":{"scanDetails":[["868.372",4,-91],["868.384",5,-81],["868.396",5,-78],["868.408",5,-77],["868.420",5,-76],["868.432",5,-76],["868.444",5,-76],["868.456",5,-76],["868.468",5,-75],["868.480",5,-76],["868.492",5,-76],["868.504",5,-77],["868.516",5,-80],["868.528",5,-86]],"setFreq":868.468,"usedDefault":false,"timestamp":"2017-01-04T15:33:30.000Z"},"uploader":{"battery":57,"batteryVoltage":3748}}
diff --git a/app/src/main/java/info/nightscout/sampleData/upload/pebble.json b/app/src/main/java/info/nightscout/sampleData/upload/pebble.json
deleted file mode 100644
index f331bc3192..0000000000
--- a/app/src/main/java/info/nightscout/sampleData/upload/pebble.json
+++ /dev/null
@@ -1 +0,0 @@
-{"content":"148-21 16:36\n5.2U->-28-16\nTmp: 28m@0.0 at 16:40\nReq: None\nCOB: 0, Dev: -64, BGI: -8.2, ISF: 21, Target: 81; Eventual BG -28 < 81, setting -11.3U/hr, but 28m left and 0 ~ req 0U/hr: no action required\nSched: 0.60U/hr\nmealCOB: 0g\neddie\n","refresh_frequency":1}
diff --git a/app/src/main/java/info/nightscout/utils/BatteryLevel.java b/app/src/main/java/info/nightscout/utils/BatteryLevel.java
new file mode 100644
index 0000000000..ea55dd9e69
--- /dev/null
+++ b/app/src/main/java/info/nightscout/utils/BatteryLevel.java
@@ -0,0 +1,34 @@
+package info.nightscout.utils;
+
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.os.BatteryManager;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import info.nightscout.androidaps.MainApp;
+
+/**
+ * Created by mike on 20.02.2017.
+ */
+
+public class BatteryLevel {
+ private static Logger log = LoggerFactory.getLogger(BatteryLevel.class);
+ static public int lastUploadedLevel = 0;
+
+ static public int getBatteryLevel() {
+ int batteryLevel = 0;
+ Intent batteryIntent = MainApp.instance().registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+ if (batteryIntent != null) {
+ int level = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, -1);
+ int scale = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, -1);
+ if (level != -1 && scale != -1) {
+ batteryLevel = (int) (((float) level / (float) scale) * 100.0f);
+ }
+ }
+ log.debug("Battery level: " + batteryLevel);
+ return batteryLevel;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/utils/BolusWizard.java b/app/src/main/java/info/nightscout/utils/BolusWizard.java
index 80e907bb6f..f9d3748f3a 100644
--- a/app/src/main/java/info/nightscout/utils/BolusWizard.java
+++ b/app/src/main/java/info/nightscout/utils/BolusWizard.java
@@ -2,11 +2,15 @@ package info.nightscout.utils;
import org.json.JSONObject;
+import java.util.Date;
+
import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.data.GlucoseStatus;
import info.nightscout.androidaps.interfaces.TempBasalsInterface;
import info.nightscout.androidaps.interfaces.TreatmentsInterface;
import info.nightscout.androidaps.data.IobTotal;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
/**
* Created by mike on 11.10.2016.
@@ -20,11 +24,15 @@ public class BolusWizard {
Double correction;
Boolean includeBolusIOB = true;
Boolean includeBasalIOB = true;
+ Boolean superBolus = false;
+ Boolean trend = false;
// Intermediate
public Double sens = 0d;
public Double ic = 0d;
+ public GlucoseStatus glucoseStatus;
+
public Double targetBGLow = 0d;
public Double targetBGHigh = 0d;
public Double bgDiff = 0d;
@@ -37,18 +45,23 @@ public class BolusWizard {
public Double insulingFromBolusIOB = 0d;
public Double insulingFromBasalsIOB = 0d;
public Double insulinFromCorrection = 0d;
+ public Double insulinFromSuperBolus = 0d;
+ public Double insulinFromCOB = 0d;
+ public Double insulinFromTrend = 0d;
// Result
public Double calculatedTotalInsulin = 0d;
public Double carbsEquivalent = 0d;
- public Double doCalc(JSONObject specificProfile, Integer carbs, Double bg, Double correction, Boolean includeBolusIOB, Boolean includeBasalIOB) {
+ public Double doCalc(JSONObject specificProfile, Integer carbs, Double cob, Double bg, Double correction, Boolean includeBolusIOB, Boolean includeBasalIOB, Boolean superBolus, Boolean trend) {
this.specificProfile = specificProfile;
this.carbs = carbs;
this.bg = bg;
this.correction = correction;
+ this.superBolus = superBolus;
+ this.trend = trend;
- NSProfile profile = MainApp.getConfigBuilder().getActiveProfile().getProfile();
+ NSProfile profile = ConfigBuilderPlugin.getActiveProfile().getProfile();
// Insulin from BG
sens = profile.getIsf(specificProfile, NSProfile.secondsFromMidnight());
@@ -61,17 +74,28 @@ public class BolusWizard {
}
insulinFromBG = bg != 0d ? bgDiff / sens : 0d;
+ // Insulin from 15 min trend
+ glucoseStatus = GlucoseStatus.getGlucoseStatusData();
+ if (glucoseStatus != null && trend) {
+ insulinFromTrend = (NSProfile.fromMgdlToUnits(glucoseStatus.short_avgdelta, profile.getUnits()) * 3) / sens;
+ }
+
// Insuling from carbs
ic = profile.getIc(specificProfile, NSProfile.secondsFromMidnight());
insulinFromCarbs = carbs / ic;
+ insulinFromCOB = cob / ic;
// Insulin from IOB
- TreatmentsInterface treatments = MainApp.getConfigBuilder().getActiveTreatments();
- TempBasalsInterface tempBasals = MainApp.getConfigBuilder().getActiveTempBasals();
+ // IOB calculation
+ TreatmentsInterface treatments = ConfigBuilderPlugin.getActiveTreatments();
treatments.updateTotalIOB();
- tempBasals.updateTotalIOB();
- bolusIob = treatments.getLastCalculation();
- basalIob = tempBasals.getLastCalculation();
+ IobTotal bolusIob = treatments.getLastCalculation();
+ TempBasalsInterface tempBasals = ConfigBuilderPlugin.getActiveTempBasals();
+ IobTotal basalIob = new IobTotal(new Date().getTime());
+ if (tempBasals != null) {
+ tempBasals.updateTotalIOB();
+ basalIob = tempBasals.getLastCalculation().round();
+ }
insulingFromBolusIOB = includeBolusIOB ? -bolusIob.iob : 0d;
insulingFromBasalsIOB = includeBasalIOB ? -basalIob.basaliob : 0d;
@@ -79,8 +103,16 @@ public class BolusWizard {
// Insulin from correction
insulinFromCorrection = correction;
+ // Insulin from superbolus for 2h. Get basal rate now and after 1h
+ if (superBolus) {
+ insulinFromSuperBolus = profile.getBasal(NSProfile.secondsFromMidnight());
+ long timeAfter1h = new Date().getTime();
+ timeAfter1h += 60L * 60 * 1000;
+ insulinFromSuperBolus += profile.getBasal(NSProfile.secondsFromMidnight(new Date(timeAfter1h)));
+ }
+
// Total
- calculatedTotalInsulin = insulinFromBG + insulinFromCarbs + insulingFromBolusIOB + insulingFromBasalsIOB + insulinFromCorrection;
+ calculatedTotalInsulin = insulinFromBG + insulinFromTrend + insulinFromCarbs + insulingFromBolusIOB + insulingFromBasalsIOB + insulinFromCorrection + insulinFromSuperBolus + insulinFromCOB;
if (calculatedTotalInsulin < 0) {
carbsEquivalent = -calculatedTotalInsulin * ic;
diff --git a/app/src/main/java/info/nightscout/utils/HardLimits.java b/app/src/main/java/info/nightscout/utils/HardLimits.java
new file mode 100644
index 0000000000..ff92cf2e87
--- /dev/null
+++ b/app/src/main/java/info/nightscout/utils/HardLimits.java
@@ -0,0 +1,24 @@
+package info.nightscout.utils;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+
+/**
+ * Created by mike on 22.02.2017.
+ */
+
+public class HardLimits {
+ final static double MAXBOLUS_ADULT = 17d;
+ final static double MAXBOLUS_TEENAGE = 10d;
+ final static double MAXBOLUS_CHILD = 5d;
+
+ public static double maxBolus() {
+ String age = SP.getString(R.string.key_age, "");
+
+ if (age.equals(MainApp.sResources.getString(R.string.key_adult))) return MAXBOLUS_ADULT;
+ if (age.equals(MainApp.sResources.getString(R.string.key_teenage))) return MAXBOLUS_TEENAGE;
+ if (age.equals(MainApp.sResources.getString(R.string.key_child))) return MAXBOLUS_CHILD;
+ return MAXBOLUS_ADULT;
+ }
+
+}
diff --git a/app/src/main/java/info/nightscout/utils/ImportExportPrefs.java b/app/src/main/java/info/nightscout/utils/ImportExportPrefs.java
index 567e5e412b..1e501fbdf0 100644
--- a/app/src/main/java/info/nightscout/utils/ImportExportPrefs.java
+++ b/app/src/main/java/info/nightscout/utils/ImportExportPrefs.java
@@ -3,7 +3,6 @@ package info.nightscout.utils;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
-import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
@@ -11,6 +10,9 @@ import android.os.Environment;
import android.preference.PreferenceManager;
import android.support.v4.app.ActivityCompat;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
@@ -22,12 +24,14 @@ import java.util.Map;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
+import info.nightscout.androidaps.events.EventAppExit;
/**
* Created by mike on 03.07.2016.
*/
public class ImportExportPrefs {
+ private static Logger log = LoggerFactory.getLogger(ImportExportPrefs.class);
static File path = new File(Environment.getExternalStorageDirectory().toString());
static final File file = new File(path, MainApp.sResources.getString(R.string.app_name) + "Preferences");
@@ -52,7 +56,7 @@ public class ImportExportPrefs {
}
}
- public static void exportSharedPreferences(final Context c) {
+ public static void exportSharedPreferences(final Activity c) {
new AlertDialog.Builder(c)
.setMessage(MainApp.sResources.getString(R.string.export_to) + " " + file + " ?")
@@ -82,7 +86,7 @@ public class ImportExportPrefs {
.show();
}
- public static void importSharedPreferences(final Context c) {
+ public static void importSharedPreferences(final Activity c) {
new AlertDialog.Builder(c)
.setMessage(MainApp.sResources.getString(R.string.import_from) + " " + file + " ?")
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
@@ -109,7 +113,18 @@ public class ImportExportPrefs {
}
reader.close();
editor.commit();
- ToastUtils.showToastInUiThread(c, MainApp.sResources.getString(R.string.setting_imported));
+ OKDialog.show(c, MainApp.sResources.getString(R.string.setting_imported), MainApp.sResources.getString(R.string.restartingapp), new Runnable() {
+ @Override
+ public void run() {
+ log.debug("Exiting");
+ MainApp.instance().stopKeepAliveService();
+ MainApp.bus().post(new EventAppExit());
+ MainApp.closeDbHelper();
+ c.finish();
+ System.runFinalization();
+ System.exit(0);
+ }
+ });
} catch (FileNotFoundException e) {
ToastUtils.showToastInUiThread(c, MainApp.sResources.getString(R.string.filenotfound) + " " + file);
e.printStackTrace();
diff --git a/app/src/main/java/info/nightscout/utils/LocaleHelper.java b/app/src/main/java/info/nightscout/utils/LocaleHelper.java
index 1d89c7d689..c8faa83b9d 100644
--- a/app/src/main/java/info/nightscout/utils/LocaleHelper.java
+++ b/app/src/main/java/info/nightscout/utils/LocaleHelper.java
@@ -40,8 +40,7 @@ public class LocaleHelper {
}
private static String getPersistedData(Context context, String defaultLanguage) {
- SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
- return preferences.getString(SELECTED_LANGUAGE, defaultLanguage);
+ return SP.getString(SELECTED_LANGUAGE, defaultLanguage);
}
private static void persist(Context context, String language) {
diff --git a/app/src/main/java/info/nightscout/utils/OKDialog.java b/app/src/main/java/info/nightscout/utils/OKDialog.java
new file mode 100644
index 0000000000..19fbe7c62a
--- /dev/null
+++ b/app/src/main/java/info/nightscout/utils/OKDialog.java
@@ -0,0 +1,44 @@
+package info.nightscout.utils;
+
+import android.app.Activity;
+import android.content.DialogInterface;
+import android.support.v7.app.AlertDialog;
+import android.support.v7.view.ContextThemeWrapper;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import info.nightscout.androidaps.MainApp;
+import info.nightscout.androidaps.R;
+
+/**
+ * Created by mike on 31.03.2017.
+ */
+
+public class OKDialog {
+ private static Logger log = LoggerFactory.getLogger(OKDialog.class);
+
+ public static void show(final Activity activity, String title, String message, final Runnable runnable) {
+ try {
+ AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(activity, R.style.AppTheme));
+ builder.setTitle(title);
+ builder.setMessage(message);
+ builder.setPositiveButton(MainApp.sResources.getString(R.string.ok), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ if (runnable != null) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ }
+ activity.runOnUiThread(runnable);
+ }
+ }
+ });
+
+ builder.create().show();
+ } catch (Exception e) {
+ log.debug("show_dialog exception: " + e);
+ }
+ }
+}
diff --git a/app/src/main/java/info/nightscout/utils/PasswordProtection.java b/app/src/main/java/info/nightscout/utils/PasswordProtection.java
index 2b8d7a59c1..1af10eb2d2 100644
--- a/app/src/main/java/info/nightscout/utils/PasswordProtection.java
+++ b/app/src/main/java/info/nightscout/utils/PasswordProtection.java
@@ -3,8 +3,6 @@ package info.nightscout.utils;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
-import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
@@ -19,7 +17,6 @@ import info.nightscout.androidaps.R;
public class PasswordProtection {
static public boolean isLocked(String preference) {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
final String password = SP.getString(preference, "");
if (password.equals("")) {
return false;
@@ -28,7 +25,6 @@ public class PasswordProtection {
}
static public void QueryPassword(final Context context, int stringID, String preference, final Runnable ok, final Runnable fail) {
- SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
final String password = SP.getString(preference, "");
if (password.equals("")) {
if (ok != null) ok.run();
diff --git a/app/src/main/java/info/nightscout/utils/SP.java b/app/src/main/java/info/nightscout/utils/SP.java
new file mode 100644
index 0000000000..9bed316195
--- /dev/null
+++ b/app/src/main/java/info/nightscout/utils/SP.java
@@ -0,0 +1,106 @@
+package info.nightscout.utils;
+
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+
+import info.nightscout.androidaps.MainApp;
+
+/**
+ * Created by mike on 17.02.2017.
+ */
+
+public class SP {
+ static SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainApp.instance().getApplicationContext());
+
+ static public boolean contains(String key) {
+ return sharedPreferences.contains(key);
+ }
+
+ static public String getString(int resourceID, String defaultValue) {
+ return sharedPreferences.getString(MainApp.sResources.getString(resourceID), defaultValue);
+ }
+
+ static public String getString(String key, String defaultValue) {
+ return sharedPreferences.getString(key, defaultValue);
+ }
+
+ static public boolean getBoolean(int resourceID, boolean defaultValue) {
+ try {
+ return sharedPreferences.getBoolean(MainApp.sResources.getString(resourceID), defaultValue);
+ } catch (Exception e) {
+ return defaultValue;
+ }
+ }
+
+ static public boolean getBoolean(String key, boolean defaultValue) {
+ try {
+ return sharedPreferences.getBoolean(key, defaultValue);
+ } catch (Exception e) {
+ return defaultValue;
+ }
+ }
+
+ static public Double getDouble(int resourceID, Double defaultValue) {
+ return SafeParse.stringToDouble(sharedPreferences.getString(MainApp.sResources.getString(resourceID), defaultValue.toString()));
+ }
+
+ static public Double getDouble(String key, Double defaultValue) {
+ return SafeParse.stringToDouble(sharedPreferences.getString(key, defaultValue.toString()));
+ }
+
+ static public int getInt(int resourceID, Integer defaultValue) {
+ return SafeParse.stringToInt(sharedPreferences.getString(MainApp.sResources.getString(resourceID), defaultValue.toString()));
+ }
+
+ static public int getInt(String key, Integer defaultValue) {
+ return SafeParse.stringToInt(sharedPreferences.getString(key, defaultValue.toString()));
+ }
+
+ static public long getLong(int resourceID, Long defaultValue) {
+ return SafeParse.stringToLong(sharedPreferences.getString(MainApp.sResources.getString(resourceID), defaultValue.toString()));
+ }
+
+ static public long getLong(String key, Long defaultValue) {
+ try {
+ return sharedPreferences.getLong(key, defaultValue);
+ } catch (Exception e) {
+ return SafeParse.stringToLong(sharedPreferences.getString(key, defaultValue.toString()));
+ }
+ }
+
+ static public void putBoolean(String key, boolean value) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putBoolean(key, value);
+ editor.apply();
+ }
+
+ static public void putBoolean(int resourceID, boolean value) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putBoolean(MainApp.sResources.getString(resourceID), value);
+ editor.apply();
+ }
+
+ static public void removeBoolean(int resourceID) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.remove(MainApp.sResources.getString(resourceID));
+ editor.apply();
+ }
+
+ static public void putLong(String key, long value) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putLong(key, value);
+ editor.apply();
+ }
+
+ static public void putString(int resourceID, String value) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.putString(MainApp.sResources.getString(resourceID), value);
+ editor.apply();
+ }
+
+ static public void removeString(int resourceID) {
+ SharedPreferences.Editor editor = sharedPreferences.edit();
+ editor.remove(MainApp.sResources.getString(resourceID));
+ editor.apply();
+ }
+}
diff --git a/app/src/main/java/info/nightscout/utils/SafeParse.java b/app/src/main/java/info/nightscout/utils/SafeParse.java
index 470e649005..8697daeebd 100644
--- a/app/src/main/java/info/nightscout/utils/SafeParse.java
+++ b/app/src/main/java/info/nightscout/utils/SafeParse.java
@@ -1,15 +1,20 @@
package info.nightscout.utils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
/**
* Created by mike on 23.06.2016.
*/
public class SafeParse {
+ private static Logger log = LoggerFactory.getLogger(SafeParse.class);
public static Double stringToDouble(String input) {
Double result = 0d;
input = input.replace(",", ".");
try {
result = Double.parseDouble(input);
} catch (Exception e) {
+ log.error("Error parsing " + input + " to double");
}
return result;
}
@@ -20,6 +25,7 @@ public class SafeParse {
try {
result = Integer.parseInt(input);
} catch (Exception e) {
+ log.error("Error parsing " + input + " to int");
}
return result;
}
@@ -30,6 +36,7 @@ public class SafeParse {
try {
result = Long.parseLong(input);
} catch (Exception e) {
+ log.error("Error parsing " + input + " to long");
}
return result;
}
diff --git a/app/src/main/java/info/nightscout/utils/XdripCalibrations.java b/app/src/main/java/info/nightscout/utils/XdripCalibrations.java
index 338304d790..53c3bf45ec 100644
--- a/app/src/main/java/info/nightscout/utils/XdripCalibrations.java
+++ b/app/src/main/java/info/nightscout/utils/XdripCalibrations.java
@@ -17,7 +17,7 @@ import info.nightscout.androidaps.Constants;
import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.Services.Intents;
-import info.nightscout.client.data.NSProfile;
+import info.nightscout.androidaps.plugins.NSClientInternal.data.NSProfile;
/**
* Created by mike on 10.02.2017.
diff --git a/app/src/main/res/drawable/ic_more_vert_black_24dp.xml b/app/src/main/res/drawable/ic_more_vert_black_24dp.xml
new file mode 100644
index 0000000000..5176d8a4b1
--- /dev/null
+++ b/app/src/main/res/drawable/ic_more_vert_black_24dp.xml
@@ -0,0 +1,9 @@
+
+
+
diff --git a/app/src/main/res/drawable/loopmodeborder.xml b/app/src/main/res/drawable/loopmodeborder.xml
index 86d49ae55d..95f3c114e6 100644
--- a/app/src/main/res/drawable/loopmodeborder.xml
+++ b/app/src/main/res/drawable/loopmodeborder.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/app/src/main/res/drawable/loopmodedisabledborder.xml b/app/src/main/res/drawable/loopmodedisabledborder.xml
index 1d312404e0..2326b5ca14 100644
--- a/app/src/main/res/drawable/loopmodedisabledborder.xml
+++ b/app/src/main/res/drawable/loopmodedisabledborder.xml
@@ -1,5 +1,5 @@
-
+
diff --git a/app/src/main/res/drawable/loopmodesuspendedborder.xml b/app/src/main/res/drawable/loopmodesuspendedborder.xml
new file mode 100644
index 0000000000..9caa1789c1
--- /dev/null
+++ b/app/src/main/res/drawable/loopmodesuspendedborder.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/notification_icon.png b/app/src/main/res/drawable/notification_icon.png
deleted file mode 100644
index cde69bccce..0000000000
Binary files a/app/src/main/res/drawable/notification_icon.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi-v11/temptargetborder.xml b/app/src/main/res/drawable/temptargetborder.xml
similarity index 100%
rename from app/src/main/res/drawable-mdpi-v11/temptargetborder.xml
rename to app/src/main/res/drawable/temptargetborder.xml
diff --git a/app/src/main/res/drawable-mdpi-v11/temptargetborderdisabled.xml b/app/src/main/res/drawable/temptargetborderdisabled.xml
similarity index 100%
rename from app/src/main/res/drawable-mdpi-v11/temptargetborderdisabled.xml
rename to app/src/main/res/drawable/temptargetborderdisabled.xml
diff --git a/app/src/main/res/layout/actions_fragment.xml b/app/src/main/res/layout/actions_fragment.xml
index 7eb751ac1d..45c57e0107 100644
--- a/app/src/main/res/layout/actions_fragment.xml
+++ b/app/src/main/res/layout/actions_fragment.xml
@@ -4,6 +4,10 @@
android:layout_height="match_parent"
tools:context="info.nightscout.androidaps.plugins.Actions.ActionsFragment">
+
+
+
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 930d3f897b..91681d5ef2 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -11,20 +11,19 @@
android:layout_height="match_parent"
android:orientation="vertical">
-
+ android:layout_marginBottom="10dp" />
+ android:layout_weight="1" />
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/circadianpercentageprofile_fragment.xml b/app/src/main/res/layout/circadianpercentageprofile_fragment.xml
index 9ac9b0d026..a1dd3634cc 100644
--- a/app/src/main/res/layout/circadianpercentageprofile_fragment.xml
+++ b/app/src/main/res/layout/circadianpercentageprofile_fragment.xml
@@ -7,7 +7,7 @@
android:focusable="true"
android:focusableInTouchMode="true"
android:descendantFocusability="beforeDescendants"
- tools:context=".plugins.CircadianPercentageProfile.CircadianPercentageProfileFragment">
+ tools:context=".plugins.ProfileCircadianPercentage.CircadianPercentageProfileFragment">
+
+
+
+
+
+ tools:context="info.nightscout.androidaps.plugins.PumpDanaR.DanaRFragment">
-
+ android:layout_height="wrap_content">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+ android:text="@string/danar_stats" />
-
+
diff --git a/app/src/main/res/layout/danar_historyactivity.xml b/app/src/main/res/layout/danar_historyactivity.xml
index 3b046e9ff7..d21ecfd2ff 100644
--- a/app/src/main/res/layout/danar_historyactivity.xml
+++ b/app/src/main/res/layout/danar_historyactivity.xml
@@ -5,7 +5,7 @@
android:layout_height="fill_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin"
- tools:context=".plugins.DanaR.History.DanaRHistoryActivity">
+ tools:context=".plugins.PumpDanaR.History.DanaRHistoryActivity">
+ tools:context=".plugins.PumpDanaR.History.DanaRHistoryActivity">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/localprofile_fragment.xml b/app/src/main/res/layout/localprofile_fragment.xml
index 320e457598..3773b43fbc 100644
--- a/app/src/main/res/layout/localprofile_fragment.xml
+++ b/app/src/main/res/layout/localprofile_fragment.xml
@@ -2,7 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".plugins.LocalProfile.LocalProfileFragment">
+ tools:context=".plugins.ProfileLocal.LocalProfileFragment">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/nsprofileviewer_fragment.xml b/app/src/main/res/layout/nsprofileviewer_fragment.xml
index 062e81ac3c..9aaf0d8c54 100644
--- a/app/src/main/res/layout/nsprofileviewer_fragment.xml
+++ b/app/src/main/res/layout/nsprofileviewer_fragment.xml
@@ -2,7 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".plugins.NSProfile.NSProfileFragment">
+ tools:context=".plugins.ProfileNS.NSProfileFragment">
+ tools:context=".plugins.ConstraintsObjectives.ObjectivesFragment">
+ android:textAppearance="?android:attr/textAppearanceSmall" />
+ android:textColor="@color/mdtp_white" />
+
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+ android:gravity="center_horizontal"
+ android:orientation="horizontal">
-
+ android:orientation="horizontal">
-
+
+
+
+
+
+
+
+
+
+
+
-
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
-
-
-
-
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:orientation="vertical">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ android:width="32dp"
+ android:checked="false" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/simpleprofile_fragment.xml b/app/src/main/res/layout/simpleprofile_fragment.xml
index da04c97875..b7c3c3cac8 100644
--- a/app/src/main/res/layout/simpleprofile_fragment.xml
+++ b/app/src/main/res/layout/simpleprofile_fragment.xml
@@ -2,7 +2,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".plugins.SimpleProfile.SimpleProfileFragment">
+ tools:context=".plugins.ProfileSimple.SimpleProfileFragment">
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/vitualpump_fragment.xml b/app/src/main/res/layout/vitualpump_fragment.xml
index bb74270613..cd73777ec7 100644
--- a/app/src/main/res/layout/vitualpump_fragment.xml
+++ b/app/src/main/res/layout/vitualpump_fragment.xml
@@ -2,160 +2,237 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".plugins.VirtualPump.VirtualPumpFragment">
+ tools:context=".plugins.PumpVirtual.VirtualPumpFragment">
-
-
-
+ android:layout_height="match_parent">
+ android:layout_height="match_parent"
+ android:orientation="vertical">
+ android:layout_gravity="center"
+ android:layout_marginTop="20dp"
+ android:text="@string/vitualpump_label"
+ android:textAppearance="?android:attr/textAppearanceLarge" />
-
+ android:layout_marginTop="20dp"
+ android:orientation="horizontal">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/app/src/main/res/menu/menu_main.xml b/app/src/main/res/menu/menu_main.xml
index 5ebc0820b7..3300ab132d 100644
--- a/app/src/main/res/menu/menu_main.xml
+++ b/app/src/main/res/menu/menu_main.xml
@@ -16,6 +16,9 @@
+
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/src/main/res/mipmap-hdpi/blueowl.png
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher.png
rename to app/src/main/res/mipmap-hdpi/blueowl.png
diff --git a/app/src/main/res/mipmap-hdpi/yellowowl.png b/app/src/main/res/mipmap-hdpi/yellowowl.png
new file mode 100644
index 0000000000..fd2d6dd22d
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/yellowowl.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.png b/app/src/main/res/mipmap-mdpi/blueowl.png
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher.png
rename to app/src/main/res/mipmap-mdpi/blueowl.png
diff --git a/app/src/main/res/mipmap-mdpi/yellowowl.png b/app/src/main/res/mipmap-mdpi/yellowowl.png
new file mode 100644
index 0000000000..962fd4a848
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/yellowowl.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/blueowl.png
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher.png
rename to app/src/main/res/mipmap-xhdpi/blueowl.png
diff --git a/app/src/main/res/mipmap-xhdpi/yellowowl.png b/app/src/main/res/mipmap-xhdpi/yellowowl.png
new file mode 100644
index 0000000000..a1bf6cd6c3
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/yellowowl.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/blueowl.png
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher.png
rename to app/src/main/res/mipmap-xxhdpi/blueowl.png
diff --git a/app/src/main/res/mipmap-xxhdpi/yellowowl.png b/app/src/main/res/mipmap-xxhdpi/yellowowl.png
new file mode 100644
index 0000000000..8f6166d44e
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/yellowowl.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/blueowl.png
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
rename to app/src/main/res/mipmap-xxxhdpi/blueowl.png
diff --git a/app/src/main/res/mipmap-xxxhdpi/yellowowl.png b/app/src/main/res/mipmap-xxxhdpi/yellowowl.png
new file mode 100644
index 0000000000..304b0975dd
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/yellowowl.png differ
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index 9d8d44f4b9..4e77d363b7 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -1,6 +1,5 @@
- AndroidAPS
Closed Loop
Open Loop
APS режим
@@ -128,7 +127,7 @@
Безопасност
Задай нов удължен болусs:
Приложи нов временен базал:
- Simple profile
+ Обикновен профил
Временен базал
IOB:
Общо IOB:
@@ -157,13 +156,13 @@
Tratments safety
Неподържана версия на NSClient
Виртуална помпа
- Базова базална стойност:
- Батерия:
- Удължен болус:
- Резервоар:
+ Базова базална стойност
+ Батерия
+ Удължен болус
+ Резервоар
OK
Грешка в базата данни
- Временен базал:
+ Временен базал
ВИРТУАЛНА ПОМПА
xDrip
Удължен болус
@@ -213,14 +212,14 @@
MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+XXXXXXXXXX;+YYYYYYYYYY
Болус %.2fU беше подаден успешно
- Болусът не е доставен
+ Bolus failed
Откажи временен базал
- Последно свързване:
+ Последно свързване
Изчаква резултат
SMS комуникатор
Позволени телефонни номера
Успех
- За да доставите болус %.2fU отговорете с код %s
+ To deliver bolus %.2fU reply with code %s
Отдалечен болус не е разрешен
Обнови профила
Процент
@@ -233,7 +232,7 @@
DIA (Време на действие на инсулина) ч.:
Последен болус:
Неправилни входни данни
- Единици за деня:
+ Единици за деня
Временна цел
Отакажи временна цел
Коментар
@@ -267,7 +266,7 @@
Прекъсване
Презареждане
IOB на помпата
- Парола за помпа
+ Парола за помпа
пълнене
Общо %d записа са изпратени
Приложено
@@ -290,7 +289,7 @@
Настройване на Closed Loop, повишаване на максималният IOB над 0 и понижаване на целевите нива на КЗ
Една седмица успешно дневно използване с редовно въвеждане на въглехидрати
Настройване на базалния инсулин и коефициенти ако е необходимо и активиране на auto-sens
- Uploading
+ Качване
Подава %.2fU
Spanish
Не е избран профил
@@ -374,30 +373,30 @@
Wear
Избран е грешен тип помпа
преди %d м.
- "Д-я"
- "Wear"
- "ВП "
- "ТТ "
- "ВЦeл"
- "ВБ "
- "СМС "
- "ОПр "
- "Пр "
- "HOME"
- "ЦЕЛИ "
- "oAPS"
+ ДЕЙСТВ
+ WEAR
+ ВП
+ TREAT
+ ВЦeл
+ ВБ
+ SMS
+ ОПРОФ
+ ПРОф
+ ОСН
+ ЦЕЛИ
+ OAPS
"Loop "
- "ЛПр "
- "Dana"
- "КОНФ. "
- "ППр "
- "CaPr"
+ ЛПр
+ Dana
+ КОНФ
+ ППр
+ CaPr
Физ.активност
DanaR статистика
Базал
Болус
Дата
- Стари данни! Натиснете \"Презареждане\"
+ Стари данни! Натиснете "Презареждане"
Коефициент
Общо базален инс.
Общо базален инс.²
@@ -426,7 +425,7 @@
Експоненциално претеглена TDD
Комулативна TDD
Тегло
- # Days
+ Дни
MM640g
Масив от %d елемента. Актуална стойност:
Basal:
@@ -435,4 +434,82 @@
IOB:
%dmin ago
Изчаква за помпа
+ Използвай краткоср. Δ вместо разлика от последната КЗ
+ Полезно при данни за КЗ с много шум
+ Приближава достигане на дневният лимит на иснулин
+ Стартира подаване на %.2fU
+ Изпратена калибрация до xDrip
+ Копирано в клипборд
+ Копирай в клипборд
+ Продължителност на инсулиновата активност
+ Прекъсване
+ Не показвай отново
+ Полето не може да бъде празно
+ Позволени са само числа
+ Позволени са числа между %1$s - %2$s
+ Телефонният номер не е валиден
+ Изпълнение
+ Получава статус на помпа
+ Покажи лог
+ Максимално позволен временен базал Е/ч
+ Максимален базален IOB
+ Калибрация
+ Помпата е спряна
+ xDrip+ не е инсталиран
+ Грешна парола
+ Изпраща статус в NS
+ Настройки на виртуална помпа
+ Качва базални стойности
+ Отключи настройки
+ Спиране на удължен болус
+ Спиране на временен базал
+ Не е разрешена отдалечена калибрация
+ Грешка при подаване на временен базал
+ Изпращане на калибрация %.1f към xDrip?
+ Настройки на удължен болус
+ Парола за настройки
+ Настройки на временен базал
+ Помпата е спряна. Натиснете за обновяване
+ Настройки на параметър Δ КЗ
+ Калибрация на КЗ
+ Възрастен
+ Разширени настройки
+ Дете
+ Изчисти опашката
+ Изчисти log
+
+ Изпрати сега
+ неуспешно - проверете телефона
+ Недостъпно
+ NSCLIENT няма достъп. Грешна API secret?
+ вътрешен NSClient
+ Autoscroll
+ Ще бъде използвано в поле въведено от
+ Въведи име на устройство
+ Име на устройство
+ Въведи API secret (мин. 12 символа)
+ Вътрешен NSClient
+ URL:
+ Въведи Nightscout URL
+ Nightscout URL
+ NS API secret
+ NS API secret
+ NSCL
+ Възраст на потребителя
+ Изберете възраст за определяне лимитите на безопасност
+ На пауза
+ Профил
+ Рестарт
+ Покажи опашката
+ xDrip не приема калибрация
+ Статус:
+ Тийнейджър
+ Раздели IOB на болус и базал IOB на часовника
+ Покажи подробен IOB
+ Настройки на часовник
+ To send calibration %.2f reply with code %s
+ Calibration sent. Receiving must be enabled in xDrip.
+ Invalid SMS phone number
+ Опашка:
+ Firmware
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 835421fbb0..17af068120 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -1,6 +1,5 @@
- AndroidAPS
Uzavřená smyčka
Otevřená smyčka
Typ smyčky
@@ -144,7 +143,7 @@
IOB:
Celková aktivita IOB:
Celkové IOB:
- Množtví sacharidů
+ Množství sacharidů
Množství inzulínu
Bazální IOB
Glykémie
@@ -158,13 +157,13 @@
Bezpečnost zadání ošetřeni
Nepodporovaná verze NSClient
Virtualní pumpa
- Základní hodnota bazálu:
- Baterie:
- Kombo bolus:
- Zásobník:
+ Základní hodnota bazálu
+ Baterie
+ Kombo bolus
+ Zásobník
OK
Chyba databáze
- Dočasný bazál:
+ Dočasný bazál
VIRTUÁLNÍ PUMPA
xDrip
Kombo bolus
@@ -205,9 +204,9 @@
Absolutní
Komentář
Chyba připojování pumpy
- Jednotek za den:
+ Jednotek za den
Chybná vstupní data
- IOB z pumpy:
+ IOB z pumpy
Poslední bolus
Hodnota nenastavena správně
Zobrazit profil
@@ -221,7 +220,7 @@
Obnovit profil
Uložit
Úspěch
- Poslední spojení:
+ Poslední spojení
Zrušit dočasný bazál
Bolus %.2fU aplikován úspěšně
Chyba při aplikování bolusu
@@ -265,7 +264,7 @@
Nahrávám
Pumpa je zaneprázdněna
Špatné heslo k pumpě
- Heslo k pumpě
+ Heslo k pumpě
Okluze
Podáno
Stop
@@ -366,16 +365,16 @@
Bazální profil aktualizován
Pumpa není inicializována, profil nenastaven!
Vybrán špatný ovladač pumpy
- Hodnota bazálu pod minimem. Nenastaveno!
+ Hodnota bazálu pod povoleným minimem. Nenastaveno!
Pera
Glykémie:
Poslední glykémie:
- před %d min
+ před %d min
Bazál:
Bolus:
Rozdíl:
IOB:
- před %d min
+ před %d min
Bolus %.2fU aplikován úspěšně
Průběžné oznámení
ZASTARALÉ
@@ -383,7 +382,7 @@
Aktivita
Pole %d prvků. Aktuální hodnota:
Před jídlem
- Řečtina
+ Greek
Inicializuji ...
Dlouhodobý průměr
OpenAPS AMA
@@ -398,22 +397,22 @@
Obnovit dočasné cíle z NS
" "
" "
- " "
- " "
+ ViPu
+ Oš
" "
" "
- " "
- " "
+ SMS
+ JP
" "
- " "
- " "
+ Přehl
+ Cíle
" "
- " "
- " "
- " "
- " "
- " "
- " "
+ Smyč
+ LP
+ Dana
+ Konf
+ CPP
+ Péče
Rozšířené nastavení
Vždy používat krátkodobý průměrný rozdíl glykémií místo rozdílu posledních 2 hodnot
Výhodné, pokud data z xDripu obsahují velký šum
@@ -434,7 +433,7 @@
Nastavení parametru delta BG
Profil
Krátké názvy modulů
- Firmware:
+ Firmware
Špatné telefonní číslo
Chyba nastavování dočasného bazálu
Nakopírováno do schránky
@@ -463,8 +462,8 @@
Nezobrazovat znovu
Provádím
Načítám stav pumpy
- Pumpa vypnuta
- Pumpa vypnuta. Klik pro obnovení stavu
+ Pumpa pozastavena
+ Pumpa pozastavena. Klik pro obnovení stavu
Nastavuji extended bolus
Nastavuji dočasný bazál
Zastavuji extended bolus
@@ -478,4 +477,71 @@
Chybné heslo
Odemknout nastavení
Blíží se denní limit inzulínu
+ Dospělý
+ Dítě
+ Vymazat frontu
+ Vymazat log
+ Odeslat teď
+ neúspěšně - zkontrolujte mobil
+ Nedostupný
+ NSClient nedostal oprávnění k zápisu. Špatné API secret?
+ NSClient interní
+ Posouvat
+ Bude použito v poli zadal
+ Zadej jméno zařízení
+ Jméno zařízení
+ Vložte API secret (min 12. znaků)
+ NSCl
+ Interní NSClient
+ URL:
+ Vložte adresu Nightscoutu
+ Adresa Nightscoutu
+ Stáří pacienta
+ Vyberte věk pacienta pro nastavení bezpečnostních limitů
+ Pozastaveno
+ Fronta:
+ Restart
+ Zobrazit frontu
+ Status:
+ Dospívající
+ Rozepsat IOB do bolusového a bazálního na hodinkách
+ Zobrazit detailní IOB
+ Nastavení hodinek
+ Glimp
+ Zařízení patrně nepodporuje vyloučení z optimalizace baterie.
+ Odpojit pumpu na 10 h
+ Odpojit pumpu na 1 h
+ Odpojit pumpu na 2 h
+ Odpojit pumpu na 30 min
+ Odpojit pumpu na 3 h
+ Povolit smyčku
+ Menu smyčky
+ Smyčka pozastavena
+ Pozastaveno (%d min)
+ %s potřebuje vypnout optimalizace baterie pro optimalní výkon
+ Prosím povolte oprávnění
+ Uvolnit
+ Pozastavit smyčku na 10 h
+ Pozastavit smyčku na 1 h
+ Pozastavit smyčku na 2 h
+ Pozastavit smyčku na 3 h
+ Zakázat smyčku
+ Smyčka obnovena
+ Smyčka pozastavena
+ Vzdálení příkaz není povolen
+ K pozastavení smyčky na %d minut odpověz SMS s kódem %s
+ Chybná doba trvání
+ Logovat spuštění aplikace do NS
+ Ukončuji aplikaci, aby se nastavení projevilo.
+ Inzulín
+ Rychlý inzulín
+ Rychlý inzulín prodloužený
+ INZ
+ Superbolus (%d m)
+ 15min trend
+ COB
+ Superbolus
+ Povolit superbolus
+ Povolení superbolusu v kalkulátoru. Nepovolujte, dokud se nenaučíte, co to opravdu dělá. MŮŽE ZPŮSOBIT PŘEDÁVKOVÁNÍ INZULÍNEM PŘI NESPRÁVNÉM POUŽITÍ!
+ O aplikaci
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index abf9b60b58..545c988a42 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -1,6 +1,5 @@
- AndroidAPS
APS Modus
BZ verfügbar in NS
Abbrechen
@@ -24,7 +23,7 @@
Ratio:
Dur:
Bolus Abgabefehler
- Batterie:
+ Batterie
OK
Basal
Bolus
@@ -95,14 +94,14 @@
U
Up
Virtuelle Pumpe
- Reservoir:
+ Reservoir
xDrip
VIRTUELLE PUMPE
SQL Error
- Extended bolus:
- Temp basal:
+ Extended bolus
+ Temp basal
Sichtbar
- Basis Basalrate:
+ Basis Basalrate
TOTAL
Nicht unterstützte Version von NSClient
BZ
@@ -205,7 +204,7 @@
Verbinden
Pumpen Verbindungsfehler
DanaR Blueetooth Gerät
- Pumpen IOB:
+ Pumpen IOB
DanaR Pumpen Einstellungen
DanaR
Getrennt
@@ -216,7 +215,7 @@
Profil neuladen
Speichern
Erfolgreich
- Letzte Verbindung:
+ Letzte Verbindung
Letzter Bolus:
Profil anzeigen
DanaR Profil Einstellungen
@@ -259,7 +258,7 @@
Glukose
Füllmenge
Unterbrechungen
- Pumpen-Passwort
+ Pumpen-Passwort
Essensbolus
Kein Profil gewählt
Stop
@@ -312,7 +311,7 @@
vor %d min
"AKT"
"WEAR"
- "VP"
+ VP
"TREAT"
"TT"
"TB"
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index bd95743215..04537e4f03 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -1,5 +1,4 @@
- AndroidAPS
Seguridad tratamientos
Máximo Bolo permitido [U]
Máximos carbohidratos permitidos [g]
@@ -47,10 +46,10 @@
TOTAL
Ejecutar ahora
BOMBA VIRTUAL
- Dosis Basal Base:
- Basal Temporal:
- Bolo extendido:
- Batería:
+ Dosis Basal Base
+ Basal Temporal
+ Bolo extendido
+ Batería
Depósito:
OK
Error de SQL
@@ -219,9 +218,9 @@
No se encuentra adaptador Bluetooth
El dispositivo seleccionado no se encuentra
Error de conexión de la bomba
- Última conexión:
- Bomba IOB:
- Unidades diarias:
+ Última conexión
+ Bomba IOB
+ Unidades diarias
Último bolo:
h antes
Datos invalidos
@@ -275,7 +274,7 @@
Rellenar
Suspender
Conexión de %d s
- Contraseña de la bomba
+ Contraseña de la bomba
Contraseña de la bomba incorrecta!
Bomba ocupada
Entregado
diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml
index b45c7393b0..b8c84883cb 100644
--- a/app/src/main/res/values-ko/strings.xml
+++ b/app/src/main/res/values-ko/strings.xml
@@ -1,20 +1,19 @@
- AndroidAPS
Treatments 안전설정
최대 허용 식사주입인슐린 [U]
최대 허용 탄수화물 [g]
-
설정
NS에서 Treatments 새로고침
백업
테스트 알람
데이터베이스 초기화
+ 데이터 베이스를 정말 초기화하시겠습니까?
종료
>200% 주입위한 확장식사주입
다나R 블루투스
기초주입량 절대값 사용하기
-
+ 폰을 재부팅하고나 AndroidAPS를 재시작하세요 \n그렇지 않으면 로그가 기록이되지 않습니다.(알고리즘이 제대로 작동하는지 확인하기 위해 로그가 필요합니다.)!
목표:
방법:
시작
@@ -30,6 +29,7 @@
인슐린:
탄수화물:
IOB:
+ IOB:
활동:
IOB 총량:
활동 IOB 총량:
@@ -48,11 +48,11 @@
총
지금 실행
가상 펌프
- 기본 기초주입량:
- 임시기초주입:
- 확장 식사주입:
- 배터리:
- 인슐린 잔량:
+ 기본 기초주입량
+ 임시기초주입
+ 확장 식사주입
+ 배터리
+ 인슐린 잔량
OK
SQL 에러
최근 실행
@@ -74,8 +74,8 @@
근거
혈당
Delta
+ Delta:
Avg. delta
-
Config Builder
목표
OpenAPS MA
@@ -86,8 +86,6 @@
Treatments
가상펌프
Careportal
-
-
펌프
Treatments
임시기초주입
@@ -97,7 +95,6 @@
일
최소기간
제한
-
Loop
Loop
APS
@@ -105,6 +102,7 @@
Set by pump
최근 주입
나이트스카우트에서 Treatments를 새로고치시겠습니까
+ 나이트스카우트에서 Temp Target을 새로고치시겠습니까
OK
취소
NO APS SELECTED OR PROVIDED RESULT
@@ -112,6 +110,7 @@
플러그인이 사용불가능 합니다
제한 위반
식사주입 전송 에러
+ Tempbasal delivery error
기초주입 값
% (100% = 현재)
새 임시기초주입 적용:
@@ -121,7 +120,9 @@
확인
새 Treatment 입력:
식사주입
+ Bolus:
기초주입
+ Basal:
탄수화물
입력값 변경!
새 확장식사주입 설정:
@@ -129,9 +130,9 @@
xDrip
NSClient
APS 모드
-
Closed Loop
Open Loop
+ Loop Disabled
새로운 제안이 있습니다
지원하지 않는 NSClient 버전입니다
NSClient 가 설치되지 않았습니다. 기록이 삭제됩니다!
@@ -162,7 +163,6 @@
Temp Basal End
Carbs correction
OpenAPS Offline
-
Event type
Other
Meter
@@ -199,14 +199,16 @@
설정 불러오기
German
Spanish
+ Greek
목표범위 최소 혈당값
목표범위 최대 혈당값
- 임시기초주입 최대량 [U/hr]
- OpenAPS가 주입할수 있는 최대 기초주입 IOB [U]
+ 임시기초주입 최대량 [U/hr]
+ 이 값은 OpenAPS에서 Max Basal(임시기초주입 최대량)로 설정되는 값입니다
+ OpenAPS가 주입할수 있는 최대 기초주입 IOB [U]
+ 이 값은 OpenAPS에서 Max IOB라고 부르는 값입니다\n기본값은 0으로 설정되어 있습니다. 몇일 혹은 몇주 정도 사용 후에 적정한 정도에 따라 값을 조정할 수 있습니다.
Bulgarian
- DISMISS
+ 닫기
언어
-
다나R
연결중
연결됨
@@ -221,9 +223,9 @@
블루투스 어댑터를 찾지 못했습니다
선택된 기기를 찾지 못했습니다
펌프 연결 에러
- 최근 연결:
- 펌프 IOB:
- Daily units:
+ 최근 연결
+ 펌프 IOB
+ Daily units
최근 식사주입:
시간 전
사용할수 없는 입력 데이터
@@ -241,8 +243,11 @@
허가된 전화번호
+XXXXXXXXXX;+YYYYYYYYYY
식사주입 %.2fU 을 실행하려면 %s 를 입력하고 답장하세요
+ To send calibration %.2f reply with code %s
Bolus failed
Bolus %.2fU delivered successfully
+ Going to deliver %.2fU
+ Bolus %.2fU delivered successfully
%.2fU 주입중
SMS 원격 명령 사용하기
원격 식사주입 허용되지 않음
@@ -253,6 +258,7 @@
Temporary Target Cancel
DanaR 프로파일 설정
인슐린활동시간(DIA) [h]
+ Duration of Insulin Activity
기초주입 프로파일 갱신 실패
History
Reload
@@ -278,7 +284,7 @@
교체
중지
%d 초 동안 연결중
- 펌프 비밀번호
+ 펌프 비밀번호
펌프 비밀번호가 잘못되었습니다!
펌프가 바쁩니다
주입됨
@@ -286,6 +292,7 @@
막힘
정지
정지 누름
+ Waiting for pump
펌프를 기다리고 있습니다. Click to refresh.
%.2fU을 주입합니다
나이트스카우트를 세팅하고, 기초주입과 비율을 분석한다.
@@ -308,6 +315,7 @@
Loop가 실행되었습니다.
Loop가 중지중입니다.
Loop가 실행중입니다.
+ %.2f limited to %.2f
값 %s 은 하드리밋(Hard Limit)를 벗어났습니다
원격 기초주입설정이 허가되지 않았습니다
기초주입 %.2fU/h 을 실행하려면 %s 를 입력하고 답장하세요
@@ -317,10 +325,9 @@
Temp basal canceled
Canceling temp basal failed
알려지지 않은 명령이거나 잘못된 답장입니다
-
퀵마법사
퀵마법사 설정
- 버튼 글자:
+ 버튼명:
탄수화물:
유효기간:
추가
@@ -335,6 +342,7 @@
NS upload only. 로컬소스(xDrip)가 선택되지 않으면 SGV에는 효력이 없습니다. NS프로파일이 사용중이라면 프로파일에는 효력이 없습니다.
이 기능을 사용하시려면 "NS upload only"을 비활성화 하세요.
펌프가 초기화 되지 않았습니다!
+ 펌프가 초기화와 프로파일 설정이 되지 않았습니다!
공기/채움
Please make sure the amount matches the specification of your infusion set!
기타
@@ -361,7 +369,7 @@
Overview/스마트워치 차트 표시용 고/저혈당 선
저혈당 선
고혈당 선
- Wear
+ 웨어
모든 데이터 다시 보내기
웨어에서 설정 열기
펌프 에러
@@ -380,27 +388,137 @@
BG:
Last BG:
MDI
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- " "
- 필수 입력 항목입니다.
+ MM640g
+ Ongoing Notification
+ OLD DATA
+ %dmin ago
+ %dmin ago
+ Local Profile
+ OpenAPS AMA
+ Short avg. delta
+ Long avg. delta
+ Array of %d elements.\nActual value:
+ Autosens data
+ Script debug
+ AMA autosens 기능 사용하기
+ Temp Target
+ Refresh temp targets from NS
+ Eating Soon
+ Activity
+ Remove record:
+ DanaR Stats
+ Cumulative TDD
+ Exponentially Weighted TDD
+ Basal
+ Bolus
+ TDD
+ Date
+ Ratio
+ # Days
+ Weight
+ Possibly inaccurate if using boluses for priming/filling!
+ Old Data Please Press "RELOAD"
+ Total Base Basal
+ TBB * 2
+ Initializing ...
+ ACT
+ CONF
+ LOOP
+ SP
+ OAPS
+ TT
+ LP
+ DANA
+ CPP
+ TB
+ HOME
+ VPUMP
+ NSPROFILE
+ TREAT
+ CP
+ OBJ
+ WEAR
+ SMS
+ 탭 이름 단축
+ Delta Settings
+ Always use short average delta instead of simple delta
+ Useful when data from unfiltered sources like xDrip gets noisy.
+ 고급 설정
+ Firmware:
+ Model: %02X Protocol: %02X Code: %02X
+ 프로파일
+ Default value: 3\nThis is a key OpenAPS safety cap. What this does is limit your basals to be 3x (in this people) your biggest basal rate. You likely will not need to change this, but you should be aware that’s what is discussed about “3x max daily; 4x current” for safety caps.
+ Default value: 4\nThis is the other half of the key OpenAPS safety caps, and the other half of “3x max daily; 4x current” of the safety caps. This means your basal, regardless of max basal set on your pump, cannot be any higher than this number times the current level of your basal. This is to prevent people from getting into dangerous territory by setting excessively high max basals before understanding how the algorithm works. Again, the default is 4x; most people will never need to adjust this and are instead more likely to need to adjust other settings if they feel like they are “running into” this safety cap.
+ Default value: 1.2\nThis is a multiplier cap for autosens (and soon autotune) to set a 20% max limit on how high the autosens ratio can be, which in turn determines how high autosens can adjust basals, how low it can adjust ISF, and how low it can set the BG target.
+ Default value: 0.7\nThe other side of the autosens safety limits, putting a cap on how low autosens can adjust basals, and how high it can adjust ISF and BG targets.
+ Default value: true\nThis is used to allow autosens to adjust BG targets, in addition to ISF and basals.
+ Default value: 2\nBolus snooze is enacted after you do a meal bolus, so the loop won’t counteract with low temps when you’ve just eaten. The example here and default is 2; so a 3 hour DIA means that bolus snooze will be gradually phased out over 1.5 hours (3DIA/2).
+ Default value: 3.0\nThis is a setting for default carb absorption impact per 5 minutes. The default is an expected 3mg/dl/5min. This affects how fast COB are decayed, and how much carb absorption is assumed in calculating future predicted BG, when BG is falling more than expected, or not rising as much as expected.
+ 주의!\n보통의 경우 아래의 값을 변경하면 안됩니다. 이 값들을 변경하기 전에 반드시 이곳을 클릭하고 글을 정독해서 확실하게 이해를 하여야 합니다..
+ http://openaps.readthedocs.io/en/latest/docs/walkthrough/phase-3/beyond-low-glucose-suspend.html
숫자만 입력가능합니다.
이 범위(%1$s - %2$s)안에 해당하는 숫자만 입력가능합니다.
- 유효한 도메인 이름이 아닙니다.
- 펌프를 기다리고 있습니다
+ 필수 입력 항목입니다.
+ 폰번호가 유효하지 않습니다
+ SMS폰번호가 유효하지 않습니다
+ Copy To Clipboard
+ Copied to clipboard
+ Show log
+ 보정
+ 혈당 보정
+ Send calibration %.1f to xDrip?
+ xDrip+가 설치되지 않았습니다
+ 보정이 xDrip으로 전송되었습니다
+ 원격보정이 허용되지 않았습니다
+ 보정이 전송되었습니다. xDrip에서 수신이 되도록 설정되어 있어야 합니다.
+ xDrip에서 보정을 받지 못합니다.
+ Don\'t show again
+ 펌프 일시중지. 상태를 새로고치려면 클릭하세요
+ 펌프 일시중지됨
+ 펌프 상태 가져오는중
+ 임시 기초주입 설정중
+ 임시기초주입 취소중
+ 확장식사주입 설정중
+ 확장식사주입 취소중
+ 기초주입량 업데이트중
+ 연결끊기중
+ 실행중
+ 가상펌프 설정
+ Upload status to NS
+ 잘못된 비밀번호
+ 설정 비밀번호
+ 설정 잠금해제
+ 인슐린 일 허용량에 근접중
+ 내장 NSClient
+ NSCI
+ URL:
+ Autoscroll
+ Restart
+ 내장 NSClient
+ Nightscout URL
+ Nightscout URL 입력
+ NS API secret
+ NS API secret
+ NS API secret 입력(최소 12글자)
+ Device name
+ Enter device name
+ It will be used for enteredBy field
+ Deliver now
+ Clear queue
+ Show queue
+ Queue:
+ Status:
+ Paused
+ Clear log
+ NSCLIENT이 쓰기 권한이 없습니다. 잘못된 API secret?
+ 웨어 설정
+ IOB 자세하게 보여주기
+ 워치페이스에 IOB를 식사주입IOB와 기초주입IOB로 나누어서 보여줍니다.
+ not successful - please check phone
+ Not available
+ 나이
+ 어린이
+ 청소년
+ 성인
+ 안전제한을 설정하기 위해 당뇨인의 나이를 선택하세요
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index fe14a6a11b..bd89f7efc2 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -28,4 +28,16 @@
- ko
- el
+
+
+ - @string/child
+ - @string/teenage
+ - @string/adult
+
+
+ - @string/key_child
+ - @string/key_teenage
+ - @string/key_adult
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 91658da020..6c3aaebf16 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,9 +1,19 @@
+ #ff00ff
+ #00ffff
+ #FFFB8C00
+ #8BC34A
+ #00FF00
+ #FF0000
+ #FFFF00
+ #505050
+ #f0003f59
+
#3F51B5
#303F9F
#FF4081
- #ff2630
+ #00695c
#121212
#779ECB
@@ -27,6 +37,10 @@
#779ECB
#FF478EFF
+ #47c8ff
+ #FFDD7792
+ #ff0400
+
#ff0400
#ff5e55
#ff827c
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 21bcb13ff5..8a868dfef3 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1,5 +1,4 @@
- AndroidAPS
Tratments safety
Max allowed bolus [U]
Max allowed carbs [g]
@@ -50,11 +49,11 @@
TOTAL
Run now
VIRTUAL PUMP
- Base basal rate:
- Temp basal:
- Extended bolus:
- Battery:
- Reservoir:
+ Base basal rate
+ Temp basal
+ Extended bolus
+ Battery
+ Reservoir
OK
SQL Error
Last run
@@ -140,6 +139,8 @@
Closed Loop
Open Loop
Loop Disabled
+ Disable loop
+ Enable loop
New suggestion available
Unsupported version of NSClient
@@ -233,9 +234,8 @@
No bluetooth adapter found
Selected device not found
Pump connection error
- Last connection:
- Pump IOB:
- Daily units:
+ Pump IOB
+ Daily units
Last bolus:
h ago
Invalid input data
@@ -294,7 +294,7 @@
Refill
Suspend
Connecting for %d s
- Pump password
+ Pump password
Wrong pump password!
Pump is busy
Delivered
@@ -328,7 +328,9 @@
%.2f limited to %.2f
Value %s is out of hard limits
Remote basal setting is not allowed
+ Remote command is not allowed
To start basal %.2fU/h reply with code %s
+ To suspend loop for %d minutes reply with code %s
Temp basal %.2fU/h for %d min started successfully
Temp basal start failed
To stop temp basal reply with code %s
@@ -455,7 +457,6 @@
Always use short average delta instead of simple delta
Useful when data from unfiltered sources like xDrip gets noisy.
Advanced Settings
- Firmware:
Model: %02X Protocol: %02X Code: %02X
Profile
max_daily_safety_multiplier
@@ -507,4 +508,94 @@
Password for settings
Unlock settings
Approaching insulin daily limit
+ NSClient internal
+ NSCI
+ URL:
+ Autoscroll
+ Restart
+ Internal NSClient
+ Nightscout URL
+ Enter Nightscout URL
+ NS API secret
+ NS API secret
+ Enter NS API secret (min 12 chars)
+ Device name
+ Enter device name
+ It will be used for enteredBy field
+ Deliver now
+ Clear queue
+ Show queue
+ Queue:
+ Status:
+ Paused
+ nsclientinternal_url
+ nsclientinternal_api_secret
+ danar_bt_name
+ danar_password
+ danar_useextended
+ danarprofile_dia
+ Clear log
+ nsclientinternal_autoscroll
+ nsclientinternal_paused
+ NSCLIENT has no write permission. Wrong API secret?
+ Wear settings
+ Show detailed IOB
+ Break down IOB into bolus and basal IOB on the watchface
+ not successful - please check phone
+ Not available
+ smscommunicator_allowednumbers
+ smscommunicator_remotecommandsallowed
+ Patient age
+ Child
+ Teenage
+ Adult
+ age
+ child
+ teenage
+ adult
+ Please select patient age to setup safety limits
+ I_understand
+ Glimp
+ Device does not appear to support battery optimization whitelisting!
+ Please Allow Permission
+ %s needs battery optimalization whitelisting for proper performance
+ Loop suspended
+ Suspended (%d m)
+ Superbolus (%d m)
+ Loop menu
+ Suspend loop for 1h
+ Suspend loop for 2h
+ Suspend loop for 3h
+ Suspend loop for 10 h
+ Disconnect pump for 30 min
+ Disconnect pump for 1 h
+ Disconnect pump for 2 h
+ Disconnect pump for 3 h
+ Disconnect pump for 10 h
+ Resume
+ Wrong duration
+ Loop suspended
+ Loop resumed
+ 15min trend
+ COB
+ Superbolus
+ Log app start to NS
+ ns_logappstartedevent
+ Exiting application to apply settings.
+ Insulin
+ Fast Acting Insulin
+ Novorapid, Novolog, Humalog
+ INS
+ Fast Acting Insuin Prolonged
+ key_usersuperbolus
+ Enable superbolus in wizard
+ Enable superbolus functionality in wizard. Do not enable until you learn what it really does. IT MAY CAUSE INSULIN OVERDOSE IF USED BLINDLY!
+ IOB
+ COB
+ PRE
+ BAS
+ Firmware
+ Last connection
+ Bluetooh status
+ About
diff --git a/app/src/main/res/xml/pref_advanced.xml b/app/src/main/res/xml/pref_advanced.xml
index 0ebe02c9d1..b385206d10 100644
--- a/app/src/main/res/xml/pref_advanced.xml
+++ b/app/src/main/res/xml/pref_advanced.xml
@@ -18,6 +18,14 @@
android:key="ns_sync_use_absolute"
android:title="@string/ns_sync_use_absolute_title" />
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/pref_danar.xml b/app/src/main/res/xml/pref_danar.xml
index d0ca8a997a..b430e2915d 100644
--- a/app/src/main/res/xml/pref_danar.xml
+++ b/app/src/main/res/xml/pref_danar.xml
@@ -4,18 +4,18 @@
android:key="danar"
android:title="@string/danar_pump_settings">
-
diff --git a/app/src/main/res/xml/pref_danarprofile.xml b/app/src/main/res/xml/pref_danarprofile.xml
index 5e864d7561..68be80566a 100644
--- a/app/src/main/res/xml/pref_danarprofile.xml
+++ b/app/src/main/res/xml/pref_danarprofile.xml
@@ -5,7 +5,7 @@
android:title="@string/danarprofile">
diff --git a/app/src/main/res/xml/pref_nsclientinternal.xml b/app/src/main/res/xml/pref_nsclientinternal.xml
new file mode 100644
index 0000000000..134bd9ca91
--- /dev/null
+++ b/app/src/main/res/xml/pref_nsclientinternal.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/xml/pref_smscommunicator.xml b/app/src/main/res/xml/pref_smscommunicator.xml
index 23816e8e29..06614f81df 100644
--- a/app/src/main/res/xml/pref_smscommunicator.xml
+++ b/app/src/main/res/xml/pref_smscommunicator.xml
@@ -7,12 +7,12 @@
diff --git a/app/src/main/res/xml/pref_wear.xml b/app/src/main/res/xml/pref_wear.xml
new file mode 100644
index 0000000000..bc5c475f9e
--- /dev/null
+++ b/app/src/main/res/xml/pref_wear.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 74b2ab0dd8..b78a0b86c9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.2.3'
+ classpath 'com.android.tools.build:gradle:2.3.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 4b5691656a..f1b7430446 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Thu Aug 18 17:59:31 CEST 2016
+#Sun Mar 05 11:39:37 CET 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
diff --git a/wear/build.gradle b/wear/build.gradle
index 1bffedf90b..241fedbe9a 100644
--- a/wear/build.gradle
+++ b/wear/build.gradle
@@ -67,4 +67,4 @@ dependencies {
compile(name:'ustwo-clockwise-debug', ext:'aar')
compile 'com.android.support:support-v4:23.0.1'
compile 'me.denley.wearpreferenceactivity:wearpreferenceactivity:0.5.0'
-}
+}
\ No newline at end of file
diff --git a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.java b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.java
index b636869b60..d5f53be4f6 100644
--- a/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.java
+++ b/wear/src/main/java/info/nightscout/androidaps/interaction/actions/TempTargetActivity.java
@@ -78,10 +78,10 @@ public class TempTargetActivity extends ViewSelectorActivity {
final TextView textView = (TextView) view.findViewById(R.id.label);
textView.setText("duration");
if (time == null) {
- time = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, 60d, 0d, 24 * 60d, 1d, new DecimalFormat("0"), false);
+ time = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, 60d, 0d, 24 * 60d, 5d, new DecimalFormat("0"), false);
} else {
double def = SafeParse.stringToDouble(time.editText.getText().toString());
- time = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 24 * 60d, 1d, new DecimalFormat("0"), false);
+ time = new PlusMinusEditText(view, R.id.amountfield, R.id.plusbutton, R.id.minusbutton, def, 0d, 24 * 60d, 5d, new DecimalFormat("0"), false);
}
setLabelToPlusMinusView(view, "duration");
container.addView(view);