From 2c06a9cdf9bc7a4759e8ae1cd4850d9f3dc3bd08 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Mon, 2 Jul 2018 19:45:38 +0200 Subject: [PATCH 01/41] fixed typo --- app/src/main/res/values-cs/strings.xml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 9d83680f00..bcfd47e46f 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -947,7 +947,7 @@ Citlivost je počítána stejným způsobem jako v Oref0, ale je možné specifikovat dobu do minulosti. Minimální absorbce sacharidů je počítána dynamicky z maximální doby absorbce definované v nastavení. Citlivost je počítána za 24h a sacharidy, pokud nejsou absorbované, jsou oříznuty po čase definovaném v nastavení. Citlivost je počítána za 8h a sacharidy, pokud nejsou absorbované, jsou oříznuty po čase definovaném v nastavení. Je také zároveň vyhodnocováno UAM (neoznámené jídlo) - Cislivost je počítána jako vážený průměr z odchylek. Novější mají vyšší prioritu. Minimální absorbce sacharidů je počítána dynamicky z maximální doby absorbce definované v nastavení. Tento algoritmus sleduje nejrychlejí změny citlivosti. + Citlivost je počítána jako vážený průměr z odchylek. Novější mají vyšší prioritu. Minimální absorbce sacharidů je počítána dynamicky z maximální doby absorbce definované v nastavení. Tento algoritmus sleduje nejrychlejí změny citlivosti. Příjem glykémií z modifikované Dexcom G5 aplikace Příjem glykémií z Glimpu Příjem glykémií z Uploaderu 640G @@ -998,11 +998,11 @@ Nastavení APS Nastavení senzitivity Plugin senzitivita slouží k detekci změn v senzitivitě a k počítání COB. Více informací zde: - NSClient slouží ke s pojení s Nightscoutem. Nastavení můžete nyní přeskočit, ale nebudete schopni dokončit cíle, dokud nastavení neprovedete. - Pozor: Nové inzulínové profilyvyžadují DIA minimálně 5h. DIA 5-6 hodin odpovídá zhruba nastavení 3h na starších typech profilů nebo v pumpě. + NSClient slouží ke spojení s Nightscoutem. Nastavení můžete nyní přeskočit, ale nebudete schopni dokončit cíle, dokud nastavení neprovedete. + Pozor: Nové inzulínové profily vyžadují DIA minimálně 5h. DIA 5–6 hodin odpovídá zhruba nastavení 3h na starších typech profilů nebo v pumpě. Konfigurace zdroje glykémií - Vyberte zdroj profilů. Pokud jde o dítě, využijte nejspíš NS profil. Pokud Vás nikdo přes NS nesleduje, budete patrně preferovat Místní profil. Uvědomte si, že nastavujete pouze zdroj profilů. Na to aby se opravdu profil začal používat, je třeba provést aktivaci profilu použitím \"Přepnutí profilu\" - Vyberte jeden z algoritmů. Jsou setříděné od nejstaršího po nejnovější. Novější je obvikle lepší a agresivnější, ale vyžaduje přesnější nastavení. Proto pokud se smyčkou začínáte, mely byste nejříve vybrat jen AMA a ne ten posldní. Nezapomeňte si přečíst dokumentaci OpenAPS a provést nastavení, než ho začnete používat. + Vyberte zdroj profilů. Pokud jde o dítě, využijte nejspíše NS profil. Pokud Vás nikdo přes NS nesleduje, budete patrně preferovat Místní profil. Uvědomte si, že nastavujete pouze zdroj profilů. Na to aby se opravdu profil začal používat, je třeba provést aktivaci profilu použitím \"Přepnutí profilu\" + Vyberte jeden z algoritmů. Jsou setříděné od nejstaršího po nejnovější. Novější je obvykle lepší a agresivnější, ale vyžaduje přesnější nastavení. Proto pokud se smyčkou začínáte, mely byste nejříve vybrat jen AMA a ne ten poslední. Nezapomeňte si přečíst dokumentaci k OpenAPS a provést nastavení, než ho začnete používat. Spusťte první cíl Povolení Získat povolení @@ -1037,14 +1037,14 @@ Poctech Získávat glykémie z aplikace Poctech Vysoký dočasný cíl zvýší senzitivitu - = 5.5]]> + = 5.5]]> Nízký dočasný cíl zníží senzitivitu - Chybné nastavení pumpy. Projděte si dokumentaci a presvěčte se, že menu Quick Info se zmenuje QUICK INFO, za použití 360 configuration software + Chybné nastavení pumpy. Projděte si dokumentaci a presvědčete se, že menu Quick Info se zmenuje QUICK INFO, za použití 360 configuration software Volitelný Velký rozdíl v času - "Velký rozdíl v času: 4as v pumpě se liší alespoň o 1,5 h. Prosím upravte čas v pumpě ručně a vymažte historri pumpy, pokud je to třeba, prípadně pozastavte smyčku alespoň na \"DIA\" hodin " + "Velký rozdíl v času: Čas v pumpě se liší minimálně o 1,5 h. Prosím upravte čas v pumpě ručně a vymažte historii pumpy, pokud je to třeba, případně pozastavte smyčku alespoň na \"DIA\" hodin " Vyčistit události \"AndroidAPS restartován\" Nalezeno uložené nastavení - POZOR: Pokud aktivuje a připojíte skutečnou pumpu, AndroidAPS nakopíruje (a bude udržovat) nastavení bazálu z aktivního profilu do pumpy. Nastavení bazálu v pumpě bude přepsáno. Pokud si nejste jistý nebo nechcete přepsat bazály v pumpě, stiskněte Zrušit a opakujte přepnutí na jinou pumpu později. + POZOR: Pokud aktivuje a připojíte skutečnou pumpu, AndroidAPS nakopíruje (a bude udržovat) nastavení bazálu z aktivního profilu do pumpy. Nastavení bazálu v pumpě bude přepsáno. Pokud si nejste jistí nebo nechcete přepsat bazály v pumpě, stiskněte Zrušit a opakujte přepnutí na jinou pumpu později. From 5422a8bc202e7262798701011947ff342faa0c5d Mon Sep 17 00:00:00 2001 From: "Markus M. May" Date: Tue, 3 Jul 2018 22:10:33 +0200 Subject: [PATCH 02/41] Cleanup Imports, added a TODO --- .../androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index f6d5a4ef2a..8c20e2f295 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -53,6 +53,8 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { @Override public AutosensResult detectSensitivity(long fromTime, long toTime) { + // todo this method is called from the IobCobCalculatorPlugin, which leads to a circular + // dependency, this should be avoided LongSparseArray autosensDataTable = IobCobCalculatorPlugin.getPlugin().getAutosensDataTable(); Profile profile = MainApp.getConfigBuilder().getProfile(); From a978225428b014f8f312cfd4776cb8beee2df5ac Mon Sep 17 00:00:00 2001 From: "Markus M. May" Date: Tue, 3 Jul 2018 22:11:01 +0200 Subject: [PATCH 03/41] Cleanup Imports --- .../androidaps/interfaces/SensitivityInterface.java | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/interfaces/SensitivityInterface.java b/app/src/main/java/info/nightscout/androidaps/interfaces/SensitivityInterface.java index 25dab4494b..81af28eaa4 100644 --- a/app/src/main/java/info/nightscout/androidaps/interfaces/SensitivityInterface.java +++ b/app/src/main/java/info/nightscout/androidaps/interfaces/SensitivityInterface.java @@ -1,18 +1,6 @@ package info.nightscout.androidaps.interfaces; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; -import java.util.Date; -import java.util.List; - -import info.nightscout.androidaps.Config; -import info.nightscout.androidaps.R; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; -import info.nightscout.utils.Round; -import info.nightscout.utils.SP; -import info.nightscout.utils.SafeParse; /** * Created by mike on 24.06.2017. From c78117e356880c6420f8d753398e47d86cddb64b Mon Sep 17 00:00:00 2001 From: "Markus M. May" Date: Tue, 3 Jul 2018 22:35:06 +0200 Subject: [PATCH 04/41] recall getAutosensData, if it is null --- .../IobCobCalculatorPlugin.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) 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 index d6fc244eef..25c34e7f43 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -39,6 +39,7 @@ import info.nightscout.androidaps.plugins.Sensitivity.SensitivityOref1Plugin; import info.nightscout.androidaps.plugins.Treatments.Treatment; import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; +import info.nightscout.utils.T; import static info.nightscout.utils.DateUtil.now; @@ -131,8 +132,8 @@ public class IobCobCalculatorPlugin extends PluginBase { public static long roundUpTime(long time) { if (time % 60000 == 0) return time; - long rouded = (time / 60000 + 1) * 60000; - return rouded; + long rounded = (time / 60000 + 1) * 60000; + return rounded; } void loadBgData(long start) { @@ -293,7 +294,7 @@ public class IobCobCalculatorPlugin extends PluginBase { long now = System.currentTimeMillis(); long oldestDataAvailable = TreatmentsPlugin.getPlugin().oldestDataAvailable(); - long getBGDataFrom = Math.max(oldestDataAvailable, (long) (now - 60 * 60 * 1000L * (24 + MainApp.getConfigBuilder().getProfile().getDia()))); + long getBGDataFrom = Math.max(oldestDataAvailable, (long) (now - T.hours(1).msecs() * (24 + MainApp.getConfigBuilder().getProfile().getDia()))); log.debug("Limiting data to oldest available temps: " + new Date(oldestDataAvailable).toString()); return getBGDataFrom; } @@ -375,20 +376,31 @@ public class IobCobCalculatorPlugin extends PluginBase { @Nullable public AutosensData getAutosensData(long time) { + return this.getAutosensData(time, true); + } + + // just a dirty workaround to avoid problems using a too fresh time + // should get reworked... + private AutosensData getAutosensData(long time, boolean firstCall) { synchronized (dataLock) { long now = System.currentTimeMillis(); - if (time > now) + if (time > now) { return null; + } Long previous = findPreviousTimeFromBucketedData(time); - if (previous == null) + if (previous == null) { return null; + } time = roundUpTime(previous); AutosensData data = autosensDataTable.get(time); if (data != null) { //log.debug(">>> getAutosensData Cache hit " + data.log(time)); return data; } else { - //log.debug(">>> getAutosensData Cache miss " + new Date(time).toLocaleString()); +// log.debug(">>> getAutosensData Cache miss " + new Date(time).toLocaleString()); + if (firstCall) { + return this.getAutosensData(time - T.mins(5).msecs(), false); + } return null; } } From afaf729df10926d1299a1f83b61b9e2e7bbc9fbf Mon Sep 17 00:00:00 2001 From: "Markus M. May" Date: Wed, 4 Jul 2018 20:42:31 +0200 Subject: [PATCH 05/41] Try to rework the ugly fix --- .../plugins/IobCobCalculator/IobCobCalculatorPlugin.java | 9 --------- .../plugins/Sensitivity/SensitivityOref1Plugin.java | 4 +++- 2 files changed, 3 insertions(+), 10 deletions(-) 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 index 25c34e7f43..3f2cac2c1b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -376,12 +376,6 @@ public class IobCobCalculatorPlugin extends PluginBase { @Nullable public AutosensData getAutosensData(long time) { - return this.getAutosensData(time, true); - } - - // just a dirty workaround to avoid problems using a too fresh time - // should get reworked... - private AutosensData getAutosensData(long time, boolean firstCall) { synchronized (dataLock) { long now = System.currentTimeMillis(); if (time > now) { @@ -398,9 +392,6 @@ public class IobCobCalculatorPlugin extends PluginBase { return data; } else { // log.debug(">>> getAutosensData Cache miss " + new Date(time).toLocaleString()); - if (firstCall) { - return this.getAutosensData(time - T.mins(5).msecs(), false); - } return null; } } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index 8c20e2f295..ef220a6730 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -69,7 +69,9 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { return new AutosensResult(); } - AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already + // the current + AutosensData current = IobCobCalculatorPlugin.getPlugin() + .getLastAutosensDataSynchronized("SensitivityOref1Plugin"); // this is running inside lock already if (current == null) { log.debug("No current autosens data available"); return new AutosensResult(); From 506971292e7ff62453bdbcceb0f3246a820cd126 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 5 Jul 2018 15:36:13 +0200 Subject: [PATCH 06/41] cleanup --- .../activities/DanaRUserOptionsActivity.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java index 571f1a20e1..b4930a2a1a 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaR/activities/DanaRUserOptionsActivity.java @@ -95,19 +95,25 @@ public class DanaRUserOptionsActivity extends Activity { shutdown.setParams((double) pump.shutdownHour, 0d, 24d, 1d, new DecimalFormat("1"), true); lowReservoir.setParams((double) pump.lowReservoirRate, 10d, 60d, 10d, new DecimalFormat("10"), false); switch (pump.beepAndAlarm) { - case 1: pumpAlarmSound.setChecked(true); + case 0x01: + pumpAlarmSound.setChecked(true); break; - case 2: pumpAlarmVibrate.setChecked(true); + case 0x02: + pumpAlarmVibrate.setChecked(true); break; - case 3: pumpAlarmBoth.setChecked(true); + case 0x11: + pumpAlarmBoth.setChecked(true); break; - case 5: pumpAlarmSound.setChecked(true); + case 0x101: + pumpAlarmSound.setChecked(true); beep.setChecked(true); break; - case 6: pumpAlarmVibrate.setChecked(true); + case 0x110: + pumpAlarmVibrate.setChecked(true); beep.setChecked(true); break; - case 7: pumpAlarmBoth.setChecked(true); + case 0x111: + pumpAlarmBoth.setChecked(true); beep.setChecked(true); break; } From 2cd3ec82de566ace6fc84e87e41aac68f06d5d94 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sat, 7 Jul 2018 11:15:15 +0200 Subject: [PATCH 07/41] Create note for eCarbs, so it's easier to see what amount/time was used. Otherwise iterating on parameters is tedious with only the generated carbs. --- .../androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java | 2 ++ app/src/main/res/values/strings.xml | 1 + 2 files changed, 3 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java index 3951b8415f..0324bed601 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java @@ -21,6 +21,7 @@ import android.widget.RadioButton; import com.google.common.base.Joiner; +import info.nightscout.utils.NSUpload; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -394,6 +395,7 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, C CarbsGenerator.createCarb(carbsAfterConstraints, time, CareportalEvent.CARBCORRECTION, notes); } else { CarbsGenerator.generateCarbs(carbsAfterConstraints, time, duration, notes); + NSUpload.uploadEvent(CareportalEvent.NOTE, now() - 2000, MainApp.gs(R.string.generated_ecarbs_note, carbsAfterConstraints, duration, timeOffset)); } } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d7c4fdf3e6..fe3f2e17cc 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1163,6 +1163,7 @@ Clean AndroidAPS started Stored settings found Attention: If you activate and connect to a hardware pump, AndroidAPS will copy the basal settings from the profile to the pump, overwriting the existing basal rate stored on the pump. Make sure you have the correct basal setting in AndroidAPS. If you are not sure or don\'t want to overwrite the basal settings on your pump, press cancel and repeat switching to the pump at a later time. + Generated eCarbs with amount: %1$dg, duration: %2$dh, delay: %3$dm %d day From 8b7c552dcbcb993d3c7b6a4472ae9d857a976399 Mon Sep 17 00:00:00 2001 From: marie Date: Mon, 9 Jul 2018 18:51:42 +0200 Subject: [PATCH 08/41] Adding text about temp target to objective 2 --- app/src/main/res/values/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fe3f2e17cc..0550c33339 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,4 +1,4 @@ - + Treatments safety Max allowed bolus [U] Max allowed carbs [g] @@ -340,7 +340,7 @@ Setting up visualization and monitoring, and analyzing basals and ratios Verify that BG is available in Nightscout, and pump insulin data is being uploaded Starting on an open loop - Run in Open Loop mode for a few days, and manually enact lots of temp basals + Run in Open Loop mode for a few days and manually enact lots of temp basals. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Understanding your open loop, including its temp basal recommendations Based on that experience, decide what max basal should be, and set it on the pump and preferences Starting to close the loop with Low Glucose Suspend From 351bda0240cf1a7a18e4057db8b5c678179836aa Mon Sep 17 00:00:00 2001 From: marie Date: Mon, 9 Jul 2018 19:23:36 +0200 Subject: [PATCH 09/41] Adding english text about temp target to objective 2 to in all languages --- app/src/main/res/values-bg/strings.xml | 2 +- app/src/main/res/values-cs/strings.xml | 2 +- app/src/main/res/values-de/strings.xml | 2 +- app/src/main/res/values-el/strings.xml | 2 +- app/src/main/res/values-es/strings.xml | 2 +- app/src/main/res/values-fr/strings.xml | 2 +- app/src/main/res/values-it/strings.xml | 2 +- app/src/main/res/values-ko/strings.xml | 2 +- app/src/main/res/values-nl/strings.xml | 2 +- app/src/main/res/values-pl/strings.xml | 2 +- app/src/main/res/values-ro/strings.xml | 2 +- app/src/main/res/values-ru/strings.xml | 2 +- app/src/main/res/values-sv/strings.xml | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 1cdbfd1393..97540d4d3c 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -271,7 +271,7 @@ Очаква помпата Ще достави %.2fЕ Настройка на визуализацията и наблюдението, а също и анализиране на базалните нужди и коефициенти - Работете в Open Loop няколко дни и ръчно прилагайте на много временни базали + Работете в Open Loop няколко дни и ръчно прилагайте на много временни базали. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Стартиране на Open Loop Определяне на макс. лимит на базалния инсулин и настройване в помпата и програмата Разбиране на вашият Open Loop, включително препоръчваните временни базали diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index bcfd47e46f..a3acd83205 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -248,7 +248,7 @@ Podávání %.2fU inzulínu Zkontrolovat, zda jsou glykémie a údaje z pumpy viditelné v Nightscoutu Nastavit vizualizaci a monitoring, analyzovat bazály a koeficienty - Provozovat několik dní otevřenou smyčku a ručně potvrzovat doporučené dočasné bazály + Provozovat několik dní otevřenou smyčku a ručně potvrzovat doporučené dočasné bazály. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Začít s otevřenou smyčkou Na základě předchozích zkušeností rozhodnout, jaký je třeba maximální bazál a nastavit ho v pumpě a v aplikaci Porozumět otevřené smyčce a doporučeným dočasným bazálům diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index d7e21bf808..0decc499a2 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -428,7 +428,7 @@ Nightscout-URL Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren - Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten + Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temp. und Standard temp. Ziele ein und nutze sie (z.B. für Bewegung, KEs zur Hypobehandlung Starte den Open Loop Modus VERALTETE DATEN Laufende Benachrichtigungen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 3dbc1dff28..3ccc0ef424 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -269,7 +269,7 @@ Δημιουργία παρακολούθησης και ανάλυση βασικού ρυθμού και αναλογιών Επιβεβαιώστε ότι η BG φαίνεται στο Nightscout και τα δεδομένα της DanaR φορτώθηκαν Ξεκινήστε σε ανοιχτό κύκλωμα - Τρέξτε σε ανοιχτό κύκλωμα για λίγες ημέρες και χειροκίνητα κάντε πολλούς Προσ.Ρυθμ. + Τρέξτε σε ανοιχτό κύκλωμα για λίγες ημέρες και χειροκίνητα κάντε πολλούς Προσ.Ρυθμ. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Κατανοήστε το ανοιχτό κύκλωμα, περιλαμβάνοντας τις προτάσεις για Προσ.Ρυθμ. Βάση της εμπειρίας σας, αποφασίστε ποιο είναι το μέγιστο βασικής δόσης και αποθηκεύστε το στην αντλία και στις Επιλογές "Ξεκινήστε να κλείσετε το κύκλωμα με Σταμάτημα Χαμηλής Γλυκόζης (Low Glucose Suspend) " diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index c3dd7622ef..3a0eb9de6e 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -269,7 +269,7 @@ Configuración de visualización y monitoreo, y el análisis de los basales y ratios Comprobar que los datos de BG están disponibles en Nightscout, y que los datos de la bomba de insulina se están subiendo Empezar con bucle abierto - Ejecutar en modo de Loop abierto durante unos días, y aceptar manualmente las basales temporales + Ejecutar en modo de Loop abierto durante unos días, y aceptar manualmente las basales temporales. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Entender el Loop abierto, incluidas las recomendaciones de basales temporales Sobre la base de esa experiencia, decidir valores de máximo basal, y ajustar la bomba y preferencias Iniciar el bucle cerrado con suspensión con baja glucosa diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index c9a8347adc..8524b72624 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -267,7 +267,7 @@ Paramétrez la visualisation et la surveillance des données, analysez les débits de base et les ratios Vérifiez que la G est disponible sur Nightscout, et les données d’insuline sur pompe ont été téléchargées Commencez par le système boucle ouverte - Utilisez le système Open Loop pour quelques jours, et activez manuellement plusieurs débits de base tempo + Utilisez le système Open Loop pour quelques jours, et activez manuellement plusieurs débits de base tempo. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Comprendre votre système boucle ouverte, y compris ses recommandations de débit de base tempo "Partant de ce constat, décidez quel est le débit de base maximum à choisir, et entrez le dans la pompe et les préférences " Commencez par utiliser la boucle fermée avec le système Low Glucose Suspend diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index c43fe86094..fec70c4992 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -310,7 +310,7 @@ Abbreviare i titoli delle schede Semplice profilo Impostazione di visualizzazione, monitoraggio e analisi basali e rapporti - Eseguire in modalità Open Loop per alcuni giorni e impostare manualmente la basale tempor + Eseguire in modalità Open Loop per alcuni giorni e impostare manualmente la basale tempor. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Script debug Comunicazioni SMS Numero di telefono acettato diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 670e4aae02..d518aadb0d 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -274,7 +274,7 @@ 표시설정과 모니터링설정을 완료하고, 기초주입과 비율을 분석한다. 나이트스카우트에서 혈당 데이터가 잘 들어오는지, 펌프데이터가 업로드 되는지 확인한다. Open Loop를 시작한다. - Open Loop 모드에서 몇일간 사용하여보고, 임시기초주입을 여러번 수동으로 실행하여본다. + Open Loop 모드에서 몇일간 사용하여보고, 임시기초주입을 여러번 수동으로 실행하여본다. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) 임시기초주입 추천기능을 포함해서, Open Loop에 대해 이해한다. 이 경험을 토대로, 최대 기초주입량을 결정하고 이를 펌프와 설정에 입력한다. Closed Loop를 시작하고 저혈당인슐린 중지 기능을 사용해본다. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index e826d1a821..9cb91508e7 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -393,7 +393,7 @@ Doelen Controleren van beschikbaarheid BG en insuline pomp data op Nightscout Opzetten van visualisatie en monitoring eveneens analyze van basaal en ratio\'s - In Open Loop modus werken voor enkele dagen, manueel tijdelijke basaal instellen + In Open Loop modus werken voor enkele dagen, manueel tijdelijke basaal instellen. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Starten met de Open Loop modus Gebaseerd op deze ervaringen beslissen wat het maximale basaal mag zijn en dit in de pomp instellen De Open Loop begrijpen, inclusief de voorgestelde tijdelijke basalen diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index c63f24e2fd..e8ff881837 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -290,7 +290,7 @@ Konfigurowanie wizualizacji i monitorowania, analizowanie dawek bazowych i wartości Sprawdź czy BG (pomiary cukru) są dostępne w Nightscout, i dane pompy insulinowej są ładowane Uruchamiam otwartą pętle (OpenLoop) - Używaj Otwartą pętle (OpenLoop) przez kilka dni, i ręcznie wykonaj wiele dawek bazowych tymczasowych + Używaj Otwartą pętle (OpenLoop) przez kilka dni, i ręcznie wykonaj wiele dawek bazowych tymczasowych. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Zrozumienie działania otwartej pętli, wraz z jej rekomendacjami dawek tymczasowych Na podstawie tych doświadczeń zdecyduj jaka maksymalna baza powinna być ustawiona, i wprowadź ją w pompie i w ustawieniach AAPS Rozpoczęcie zamknięcia pętli z zawieszeniem podawania bazy przy niskim poziomie cukru diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 1ed0ce48aa..554dabc628 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -243,7 +243,7 @@ Se stabilesc vizualizările și monitorizarea și se analizează bazalele și valorile ratelor Verificați că vedeți glicemia în Nightscout și că datele despre insulină date de pompă sunt înregistrate în site Pornire cu buclă deschisă - Rulați modul buclă deschisă pentru câteva zile și faceți manual bazalele temporare sugerate + Rulați modul buclă deschisă pentru câteva zile și faceți manual bazalele temporare sugerate. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Trebuie să se înțeleagă modalitatea de funcționare a buclei deschise, incluzând recomandările de bazală temporară Pe baza acestei experiențe, decideți care va fi bazala maximă și setați această valoare în pompă și în preferințe Se începe etapa de buclă închisă cu Suspendarea Insulinei la Valori Glicemie Mici (Low Glucose Suspend = LGS) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 458be997cb..c1eaf74d33 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -279,7 +279,7 @@ Цели убедитесь что СК и данные помпы передаются в NS настройка визуализации и мониторинга, анализ базала и коэффициентов - работа в режиме незамкнутого цикла и ручной подстройки величины временного базала + работа в режиме незамкнутого цикла и ручной подстройки величины временного базала. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) старт незамкнутого цикла на основе полученного опыта определите макс величину базала и введите ее в помпу и настройки анализ вашего незамкнутого цикла включая рекомендации по врем базалу diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index 83804662a6..b97e007b3d 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -478,7 +478,7 @@ Förstå din open loop och hur den föreslår temp basaler Utifrån vad du nu lärt dig, besluta vilken max basal du vil ha. Ställ in det både i inställningarna i APS och i din pump. Starta med open loop - Starta med open loop och använd det några dagar. Försök att ge många föreslagna temp basaler. + Starta med open loop och använd det några dagar. Försök att ge många föreslagna temp basaler. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) Tid i timmar när alla kolhydradet förväntas vara absorberade Max absorptionstid för en måltid [tim] Absorptionsinställningar From d7cea7883e1e7a6c7c3fcbae5f99aec035d53c43 Mon Sep 17 00:00:00 2001 From: marie Date: Mon, 9 Jul 2018 20:48:41 +0200 Subject: [PATCH 10/41] Adding ')' to the German translation --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 0decc499a2..c87f93db5a 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -428,7 +428,7 @@ Nightscout-URL Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren - Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temp. und Standard temp. Ziele ein und nutze sie (z.B. für Bewegung, KEs zur Hypobehandlung + Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäres und Standard temporäre Ziele ein und nutze sie (z.B. für Bewegung, KEs zur Hypobehandlung) Starte den Open Loop Modus VERALTETE DATEN Laufende Benachrichtigungen From afe9a845d3afb15b18c6b735bde6b6c5d26af199 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sat, 23 Jun 2018 13:12:29 +0200 Subject: [PATCH 11/41] (Hopefully) fix iob(AMA|SMB)shouldBeLimited tests. By making sure there is exactly one APS plugin enabled. --- .../androidaps/interfaces/ConstraintsCheckerTest.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java index 655cc23282..9258f9c308 100644 --- a/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java +++ b/app/src/test/java/info/nightscout/androidaps/interfaces/ConstraintsCheckerTest.java @@ -233,13 +233,14 @@ public class ConstraintsCheckerTest { // No limit by default when(SP.getDouble(R.string.key_openapsma_max_iob, 1.5d)).thenReturn(1.5d); when(SP.getString(R.string.key_age, "")).thenReturn("teenage"); - OpenAPSMAPlugin.getPlugin().setPluginEnabled(PluginType.APS, true); OpenAPSAMAPlugin.getPlugin().setPluginEnabled(PluginType.APS, true); + OpenAPSMAPlugin.getPlugin().setPluginEnabled(PluginType.APS, false); + OpenAPSSMBPlugin.getPlugin().setPluginEnabled(PluginType.APS, false); // Apply all limits Constraint d = constraintChecker.getMaxIOBAllowed(); Assert.assertEquals(1.5d, d.value()); - Assert.assertEquals(3, d.getReasonList().size()); + Assert.assertEquals(d.getReasonList().toString(),2, d.getReasonList().size()); Assert.assertEquals("Safety: Limiting IOB to 1.5 U because of max value in preferences", d.getMostLimitedReasons()); } @@ -250,11 +251,13 @@ public class ConstraintsCheckerTest { when(SP.getDouble(R.string.key_openapssmb_max_iob, 3d)).thenReturn(3d); when(SP.getString(R.string.key_age, "")).thenReturn("teenage"); OpenAPSSMBPlugin.getPlugin().setPluginEnabled(PluginType.APS, true); + OpenAPSAMAPlugin.getPlugin().setPluginEnabled(PluginType.APS, false); + OpenAPSMAPlugin.getPlugin().setPluginEnabled(PluginType.APS, false); // Apply all limits Constraint d = constraintChecker.getMaxIOBAllowed(); Assert.assertEquals(3d, d.value()); - Assert.assertEquals(4, d.getReasonList().size()); + Assert.assertEquals(d.getReasonList().toString(), 2, d.getReasonList().size()); Assert.assertEquals("Safety: Limiting IOB to 3.0 U because of max value in preferences", d.getMostLimitedReasons()); } From ccaf68d043665c9742d046b8c396b3bf599fd16a Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Mon, 9 Jul 2018 23:05:48 +0200 Subject: [PATCH 12/41] Fabric-log enabled plugins once a day. --- .../receivers/KeepAliveReceiver.java | 10 ++++--- .../info/nightscout/utils/FabricPrivacy.java | 29 +++++++++++++++++++ app/src/main/res/values/strings.xml | 1 + 3 files changed, 36 insertions(+), 4 deletions(-) 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 af46321901..8ef966c340 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java @@ -1,9 +1,5 @@ package info.nightscout.androidaps.receivers; -/** - * Created by mike on 07.07.2016. - */ - import android.app.AlarmManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; @@ -11,6 +7,7 @@ import android.content.Context; import android.content.Intent; import android.os.PowerManager; +import info.nightscout.utils.FabricPrivacy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,6 +22,10 @@ import info.nightscout.androidaps.plugins.ConfigBuilder.ConfigBuilderPlugin; import info.nightscout.androidaps.queue.commands.Command; import info.nightscout.utils.LocalAlertUtils; + +/** + * Created by mike on 07.07.2016. + */ public class KeepAliveReceiver extends BroadcastReceiver { private static Logger log = LoggerFactory.getLogger(KeepAliveReceiver.class); public static final long STATUS_UPDATE_FREQUENCY = 15 * 60 * 1000L; @@ -45,6 +46,7 @@ public class KeepAliveReceiver extends BroadcastReceiver { LocalAlertUtils.shortenSnoozeInterval(); LocalAlertUtils.checkStaleBGAlert(); checkPump(); + FabricPrivacy.reportPluginStats(); log.debug("KeepAlive received"); wl.release(); diff --git a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java index bd117ed5c3..2cbc2d9daa 100644 --- a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java +++ b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java @@ -3,6 +3,12 @@ package info.nightscout.utils; import com.crashlytics.android.Crashlytics; import com.crashlytics.android.answers.Answers; import com.crashlytics.android.answers.CustomEvent; +import info.nightscout.androidaps.BuildConfig; +import info.nightscout.androidaps.MainApp; +import info.nightscout.androidaps.R; +import info.nightscout.androidaps.interfaces.PluginBase; + +import java.util.Date; /** * Created by jamorham on 21/02/2018. @@ -80,4 +86,27 @@ public class FabricPrivacy { } } + public static void reportPluginStats() { + if (!FabricPrivacy.fabricEnabled()) return; + + long lastUploadDay = SP.getLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), 0L); + + Date date = new Date(); + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + long today = date.getTime() - date.getTime() % 1000; + + if (today > lastUploadDay) { + CustomEvent pluginStats = new CustomEvent("PluginStats"); + pluginStats.putCustomAttribute("version", BuildConfig.VERSION); + for (PluginBase plugin : MainApp.getPluginsList()) { + if (plugin.isEnabled(plugin.getType()) && !plugin.pluginDescription.alwaysEnabled) { + pluginStats.putCustomAttribute(plugin.getName(), "enabled"); + } + } + FabricPrivacy.getInstance().logCustom(pluginStats); + SP.putLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), today); + } + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0550c33339..79cc57d62c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1164,6 +1164,7 @@ Stored settings found Attention: If you activate and connect to a hardware pump, AndroidAPS will copy the basal settings from the profile to the pump, overwriting the existing basal rate stored on the pump. Make sure you have the correct basal setting in AndroidAPS. If you are not sure or don\'t want to overwrite the basal settings on your pump, press cancel and repeat switching to the pump at a later time. Generated eCarbs with amount: %1$dg, duration: %2$dh, delay: %3$dm + key_plugin_stats_report_timestamp %d day From 09a1d23bc89bd4cf5f9ebe7cb2bfdc94fdd3211a Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Tue, 10 Jul 2018 17:55:50 +0200 Subject: [PATCH 13/41] Move logging of app start to Fabric class. --- .../info/nightscout/androidaps/MainApp.java | 13 ++----------- .../info/nightscout/utils/FabricPrivacy.java | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index 24631b10c8..4ec1655848 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -194,18 +194,9 @@ public class MainApp extends Application { MainApp.getConfigBuilder().initialize(); } - NSUpload.uploadAppStart(); - if (Config.NSCLIENT) - FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-NSClient")); - else if (Config.G5UPLOADER) - FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-G5Uploader")); - else if (Config.PUMPCONTROL) - FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-PumpControl")); - else if (MainApp.getConstraintChecker().isClosedLoopAllowed().value()) - FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-ClosedLoop")); - else - FabricPrivacy.getInstance().logCustom(new CustomEvent("AppStart-OpenLoop")); + NSUpload.uploadAppStart(); + FabricPrivacy.logAppStart(); final PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (pump != null) { diff --git a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java index 2cbc2d9daa..5064b881dc 100644 --- a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java +++ b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java @@ -4,6 +4,7 @@ import com.crashlytics.android.Crashlytics; import com.crashlytics.android.answers.Answers; import com.crashlytics.android.answers.CustomEvent; import info.nightscout.androidaps.BuildConfig; +import info.nightscout.androidaps.Config; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.interfaces.PluginBase; @@ -86,8 +87,22 @@ public class FabricPrivacy { } } + public static void logAppStart() { + if (Config.NSCLIENT) + getInstance().logCustom(new CustomEvent("AppStart-NSClient")); + else if (Config.G5UPLOADER) + getInstance().logCustom(new CustomEvent("AppStart-G5Uploader")); + else if (Config.PUMPCONTROL) + getInstance().logCustom(new CustomEvent("AppStart-PumpControl")); + else if (MainApp.getConstraintChecker().isClosedLoopAllowed().value()) + getInstance().logCustom(new CustomEvent("AppStart-ClosedLoop")); + else + getInstance().logCustom(new CustomEvent("AppStart-OpenLoop")); + + } + public static void reportPluginStats() { - if (!FabricPrivacy.fabricEnabled()) return; + if (!fabricEnabled()) return; long lastUploadDay = SP.getLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), 0L); From 9d899a140e9fa4d253bb3adf6d0fd678d35d86cd Mon Sep 17 00:00:00 2001 From: swissalpine Date: Tue, 10 Jul 2018 19:08:50 +0200 Subject: [PATCH 14/41] =?UTF-8?q?=C3=9Cberarbeitung/Vereinheitlichung=20de?= =?UTF-8?q?r=20deutschen=20=C3=9Cbersetzung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values-de/strings.xml | 276 ++++++++++++------------- 1 file changed, 138 insertions(+), 138 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c87f93db5a..263b33d367 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -99,13 +99,13 @@ Kohlenhydrat-Menge Insulin-Menge Behandlungen - Max erlaubter Bolus [IE] - Max erlaubte Kohlehydrate [g] + Max. erlaubter Bolus [IE] + Max. erlaubte Kohlehydrate [g] Sicherheitseinstellungen Behandlungen Einfaches Profil Setze neuen verlängerten Bolus: Akzeptiere neue TBR: - Benutze verlängerten Bolus für hohe TBR (>200%) + Benutze verlängerten Bolus für hohe TBR (>200%). Pumpen-Status verfügbar in Nightscout % (100% = aktuell) Basal-Wert [%] @@ -124,7 +124,7 @@ Zielsetzungen KEIN PROFIL GESETZT Nightscout-Client ist nicht installiert. Eintrag verloren! - Verwende absolute statt prozentuale Basalwerte beim Upload zu NightScout + Verwende absolute statt prozentuale Basalwerte beim Upload zu NightScout. Bisher noch kein Profil von Nightscout geladen Keine Anpassung benötigt KEIN APS AUSGEWÄHLT ODER KEIN ERGEBNIS VORHANDEN @@ -143,7 +143,7 @@ Generell Behandlungen Beschränkungen angewendet! - Beschränkungen wurden verletzt oder Limit erreicht + Beschränkungen wurden verletzt oder Limit erreicht. Czech LOOP DEAKTIVIERT DURCH BESCHRÄNKUNGEN Beschränkungen angewendet @@ -151,7 +151,7 @@ Manuelle Aktionen Kohlenhydrat-Beschränkung erreicht Datenbanken zurücksetzen - Erneure Behandlungen von NS + Erneure Behandlungen von Nightscout. Exit Fehlend Eingabe neuer Behandlung: @@ -163,8 +163,8 @@ Einstellungen exportieren Einstellungen importieren German - Dieser Wert wird \"max basal\" in OpenAPS genannt - Maximale Menge von nicht Bolus-IOB, die OpenAPs abgeben kann + Dieser Wert wird \"max basal\" in OpenAPS genannt. + Maximale Menge von nicht Bolus-IOB, die OpenAPs abgeben kann. Bulgarian +XXXXXXXXXX;+YYYYYYYYYY Absolut @@ -178,7 +178,7 @@ Pumpen-Verbindungsfehler DanaR Blueetooth Gerät Pumpen-IOB - DanaR Pumpen Einstellungen + DanaR Pumpen-Einstellungen DanaR Getrennt Sensor @@ -200,15 +200,15 @@ Ausgewähltes Gerät nicht gefunden VERWERFEN Endbenutzervereinbarung - Ich verstehe und stimme zu + Ich verstehe und stimme zu. DAS PROGRAMM DARF NICHT FÜR MEDIZINISCHE ENTSCHEIDUNGEN BENUTZT WERDEN. ES GIBT IN DIESEM PROJEKT KEINE GEWÄHRLEISTUNG ODER GARANTIERTE UNTERSTÜTZUNG IN IRGENDEINER ART. WENN DU DICH ENTSCHEIDEST ES ZU NUTZEN, HÄNGT DIE QUALITÄT UND LEISTUNGSFÄHIGKEIT DIESES PROJEKTES VON DIR SELBST AB. ES WIRD \"WIE BESEHEN\" ZUR VERFÜGUNG GESTELLT. SOLLTE SICH DAS PROGRAMM ALS FEHLERHAFT ERWEISEN, ÜBERNEHMEN SIE DIE KOSTEN ALLER NOTWENDIGEN KRANKHEITSKOSTEN, SERVICELEISTUNGEN, REPARATUREN ODER KORREKTUREN. Fehler beim Aktualisieren der Basalrate SMS-Kommunikator Erlaubte Telefonnummern Auf Pumpenergebnis warten Kein Bluetooth-Adapter gefunden - Ferngesteuerter Bolus ist nicht erlaubt - Um einen Bolus von %1$.2f IE abzugeben, antworte mit dem Code %2$s + Ferngesteuerter Bolus ist nicht erlaubt. + Um einen Bolus von %1$.2f IE abzugeben, antworte mit dem Code %2$s. Korean Limit erreicht Falsches Pumpen-Passwort! @@ -251,7 +251,7 @@ Andere Verstopfung Abgegeben - Es werden %1$.2f IE abgegeben + %1$.2f IE werden abgegeben. Vorfüllen/Füllen Hochladen Spanish @@ -271,7 +271,7 @@ Button 1 Button 2 Button 3 - Konfigurations-Generator + Konfiguration vor %d Min. AKT WEAR @@ -294,9 +294,9 @@ Bitte verwende nur Ziffern von %1$s - %2$s. Warte auf Pumpe Wear - Verwende immer das kurze durchschnittliche Delta statt des einfachen Deltas - Sinnvoll, wenn die Daten von einer ungefilterten Quelle Signalrauschen haben. - Tagesinsulin-Limit wird erreicht + Verwende immer das kurze durchschnittliche Delta statt des einfachen Deltas. + Das ist sinnvoll, wenn die Daten von einer ungefilterten Quelle Signalrauschen haben. + Tagesinsulin-Limit ist erreicht. Kalibrierung an xDrip+ gesendet Kind Warteschlange leeren @@ -307,21 +307,21 @@ Kumulative TDD Datum Exponentiell gewichtete TDD - Veraltete Daten, bitte klicke auf \"Reload\" + Veraltete Daten, bitte klicke auf \"Reload\". xds xDrip+ Statuszeile (Uhr) xDrip+ Status (Uhr) xDrip+ nicht installiert Zeige BGI - Füge BGI zur Statuszeile hinzu + Füge BGI zur Statuszeile hinzu. Wear-Einstellungen Zeige detailliertes IOB - Differenziere IOB in Bolus- und Basal-IOB auf dem Watchface + Differenziere IOB in Bolus- und Basal-IOB auf dem Watchface. Falsches Passwort Italian Glimp MM640g - Zeit in Stunden, in der zu erwarten ist, dass alle Kohlenhydrate resorbiert sein werden + Zeit in Stunden, in der zu erwarten ist, dass alle Kohlenhydrate resorbiert sein werden. Maximale Essens-Resorptionszeit [h] Resorptions-Einstellungen Aktivität @@ -355,7 +355,7 @@ Einstellungen der virtuellen Pumpe Status zu Nightscout hochladen Superbolus - Pausiere Loop für 10 h + Pausiere Loop für 10 h. Insgesamt %d Einträge. Aktueller Wert: IAGE Batteriealter @@ -365,97 +365,97 @@ Insulin Es sind nicht alle Profile geladen! Werte nicht gespeichert! - Aktiviere verlängerten Bolus in der Pumpe + Aktiviere verlängerten Bolus in der Pumpe. DanaR Stats # Tage Basal Bolus Gewichtung - Zeige verlängerten Bolus als % an + Zeige verlängerten Bolus als % an. DanaR Korean DanaRv2 Jetzt abgeben DIA: Deaktiviere Loop Verbindung wird getrennt - Trenne Pumpe für 1 h - Trenne Pumpe für 2 h + Trenne Pumpe für 1 h. + Trenne Pumpe für 2 h. Trenne Pumpe für 15 Min. Trenne Pumpe für 30 Min. - Trenne Pumpe für 3 h + Trenne Pumpe für 3 h. Bald essen Greek - Aktiviere Loop - Aktiviere SuperBolus im Wizard + Aktiviere Loop. + Aktiviere SuperBolus im Wizard. Wird ausgeführt Verlängerter Bolus Fast Acting Insulin Novorapid, Novolog, Humalog - Pumpenstatus wird geladen + Pumpenstatus wird geladen. Stunden Initialisierung … Ungültiges oder defektes Profil! IOB Lokales Profil Superbolus (%1$d Min.) - Loop pausiert + Loop pausiert. Pausiert (%1$d Min.) Abbrechen OK mg/dl mmol/l Über - Logs anzeigen - nicht erfolgreich - bitte Telefon prüfen + Logs anzeigen. + Nicht erfolgreich - bitte Telefon prüfen Nicht verfügbar Nightscout-Client hat keine Schreibrechte. Falscher API-Key? Alarm-Optionen Aktiviere Broadcasts für andere Apps (z. B. xDrip+). Aktiviere lokale Broadcasts. - Logge App-Start in NS + Logge App-Start in Nightscout. Kein Upload zu Nightscout - Alle an Nightscout gesendeten Daten werden verworfen. AAPS ist verbunden, aber Nightscout-Daten werden nicht geändert + Alle an Nightscout gesendeten Daten werden verworfen. AAPS ist verbunden, aber Nightscout-Daten werden nicht geändert. Hoch Niedrig Sehr hoch Sehr niedrig Autoscroll - Nightscout API-Key eingeben (min. 12 Zeichen) + Nightscout API-Key eingeben (min. 12 Zeichen). Nightscout API-Key Nightscout API-Key URL: Nightscout-URL eingeben Nightscout-URL - Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden - Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren - Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäres und Standard temporäre Ziele ein und nutze sie (z.B. für Bewegung, KEs zur Hypobehandlung) - Starte den Open Loop Modus + Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden. + Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren. + Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte feste und temporäre Zielwerte ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). + Starte den Open Loop Modus. VERALTETE DATEN Laufende Benachrichtigungen - Öffne Einstellungen auf der Uhr + Öffne Einstellungen auf der Uhr. OpenAPS OAPS OpenAPS AMA Skript Debug - Wert %1$s ist außerhalb des festen Limits + Wert %1$s ist außerhalb des festen Limits. Kalibrierung Button-Text: Verlängerten Bolus abbrechen Basal Wert [IE/h] Profil - Setzen des Basal-Profils fehlgeschlagen + Setzen des Basal-Profils fehlgeschlage Basal-Profil in der Pumpe aktualisiert Profilwechsel Pumpe Pumpe nicht initialisiert! Pumpe nicht initialisiert, Profil nicht gesetzt! Pumpe stoppen - Pumpe pausiert + Pumpe pausiert. Warteschlange: QuickWizard - Aktualisiere Einträge von Nightscout + Aktualisiere Einträge von Nightscout. Lösche Eintrag: - Alle Daten erneut senden + Alle Daten erneut senden. Möchtest du die Datenbank wirklich zurücksetzen? Neustart App wird beendet, um neue Einstellungen zu laden. @@ -463,7 +463,7 @@ Russisch Kalibrierung %1$.1f an xDrip+ senden? Passwort für die Einstellungen - TBR wird gesetzt + TBR wird gesetzt. Kurze Tab-Überschriften Zeige Warteschlange BZ: @@ -473,23 +473,23 @@ IOB: Letzter BZ: Status: - Verrlängerter Bolus wird abgebrochen - TBR wird abgebrochen - Pausiere Loop für 1 h - Pausiere Loop für 2 h - Pausiere Loop für 3 h + Verrlängerter Bolus wird abgebrochen. + TBR wird abgebrochen. + Pausiere Loop für 1 h. + Pausiere Loop für 2 h. + Pausiere Loop für 3 h. Schwedish - Basalraten werden aktualisiert + Basalraten werden aktualisiert. Sensoralter Wechsle Modus von IE/d zu IE/h in der Pumpe Insgesamt %1$d Einträge erfolgreich hochgeladen Dauer der Insulinwirkung INS - %1$s benötigt Batterie-Optimierungs-Whitelisting, um korrekt arbeiten zu können + %1$s benötigt Batterie-Optimierungs-Whitelisting, um korrekt arbeiten zu können. Veraltete Daten Veraltete Daten seit [Min.] Autosens-Daten - Max IE/h, die als TBR gesetzt werden können + Max IE/h, die als TBR gesetzt werden können. Maximales Basal-IOB, das OpenAPS abgeben darf [IE] Hoch- und Niedrig-Werte für die Übersicht- und die Smartwatch-Anzeige Zielbereich für die Grafikanzeige @@ -497,30 +497,30 @@ Sensitivität AAPS Sensitivität Oref0 Durchschnittliche Sensitivität - Verlängerter Bolus wird gesetzt + Verlängerter Bolus wird gesetzt. vor %1$d Min. - Um die TBR abzubrechen, antworte mit dem Code %s + Um die TBR abzubrechen, antworte mit dem Code %s. Bolus %.2f IE erfolgreich abgegeben xDrip+ hat die Kalbrierung nicht erhalten - Um die Kalibrierung %1$.2f zu senden, antworte mit dem Code %2$s + Um die Kalibrierung %1$.2f zu senden, antworte mit dem Code %2$s. Kalibrierung gesendet. Das Empfangen von Kalbrierungen muss in xDrip+ aktiviert sein. Falsche/ungültige Telefonnummer - Loop wurde deaktiviert - Lopp wurde aktiviert - Loop ist deaktiviert - Loop ist aktiviert - Loop wurde fortgesetzt - Loop pausiert - SMS-Steuerung nicht erlaubt - Ferngesteuerte Basal-Einstellungen sind nicht erlaubt - Ferngesteuerte Kalibrierung ist nicht erlaubt - Ferngesteuerte Befehle sind nicht erlaubt - Erlaube externe Befehle per SMS - Um das Loopen für %1$d Minuten zu pausieren, antworte mit dem Code %2$s + Loop wurde deaktiviert. + Lopp wurde aktiviert. + Loop ist deaktiviert. + Loop ist aktiviert. + Loop wurde fortgesetzt. + Loop pausiert. + SMS-Steuerung nicht erlaubt. + Ferngesteuerte Basal-Einstellungen sind nicht erlaubt. + Fern-Kalibrierung ist nicht erlaubt. + Ferngesteuerte Befehle sind nicht erlaubt. + Erlaube externe Befehle per SMS. + Um das Loopen für %1$d Minuten zu pausieren, antworte mit dem Code %2$s. TBR abgebrochen - Das Abbrechen der TBR ist fehlgeschlagen - Das Starten der TBR ist fehlgeschlagen - TBR mitl %1$.2f IE/h für %2$d Min. wurde erfolgreich gestartet + Das Abbrechen der TBR ist fehlgeschlagen. + Das Starten der TBR ist fehlgeschlagen. + TBR mitl %1$.2f IE/h für %2$d Min. wurde erfolgreich gestartet. Unbekannter Befehl oder falsche Antwort Falsche Dauer Einstellungen freischalten @@ -529,9 +529,9 @@ Model: %1$02X Protokoll: %2$02X Code: %3$02X Empfindlichkeitserkennung COB - Verstehen des Open Loops und der TBR-Empfehlungen - Verwende AMA Autosense - Um eine BR mit %1$.2f IE/h zu starten, antworte mit dem Code %2$s + Verstehe den Open Loop und die TBR-Empfehlungen. + Verwende AMA Autosense. + Um eine BR mit %1$.2f IE/h zu starten, antworte mit dem Code %2$s. Fiasp Ultra-Rapid Oref Kurzes durchschnittl. Delta @@ -539,14 +539,14 @@ Vorgabe: erlaubt. Erlaubt Autosense den Ziel-BZ-Bereich in Verbindung mit ISF und Basal anzupassen. Intervall für Autosense [h] Anzahl der vergangenen Stunden, die verwendet werden, um die Sensitivität zu erkennen (Zeit, in der KH resorbiert werden, ist nicht berücksichtigt) - Entscheide anhand von dieser Erfahrung, wie hoch max Basal sein sollte, und übernehme den Wert in die Pumpen- und AAPS-Einstellungen - Erprobe den Closed Loop Modus mit max IOB = 0 für ein paar Tage, ohne zu viele Unterzuckerungen zu haben - Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten - Verwende es ein paar Tage und zumindest eine Nacht ohne Niedrig-Alarme (UZ), bevor du den BZ-Zielbereich senkst - Fein-Einstellung des Closed-Loops, Erhöhen von max IOB über 0 und langsames Heruntersetzen des Zielbereichs - Eine Woche erfolgreiches Loopen am Tag mit regelmäßiger Kohlenhydrat-Eingabe - Passe, falls notwendig, Basal und Faktoren an und aktiviere dann die Autosense-Funktion - Aktiviere zusätzliche Funktionen, wie z. B. den Mahlzeitenassistent + Entscheide anhand von dieser Erfahrung, wie hoch max Basal sein sollte, und übernehme den Wert in die Pumpen- und AAPS-Einstellungen. + Erprobe den Closed Loop Modus mit max IOB = 0 für ein paar Tage, ohne zu viele Unterzuckerungen zu haben. + Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten. + Verwende es ein paar Tage und zumindest eine Nacht ohne Niedrig-Alarme (UZ), bevor du den BZ-Zielbereich senkst. + Stelle den Closed Loop fein ein, erhöhe max IOB über 0 und setze den Zielbereich langsam herunter. + Loope eine Woche erfolgreich am Tag mit regelmäßiger Kohlenhydrat-Eingabe. + Passe, falls notwendig, Basal und Faktoren an und aktiviere dann die Autosense-Funktion. + Aktiviere zusätzliche Funktionen, wie z. B. den Mahlzeitenassistent. Stark veraltete Daten Stark veraltete Daten seit [Min.] Dutch @@ -582,10 +582,10 @@ Bald essen - Ziel Reservoir leer Ausgeführt - Status des verzögerten Bolus wird ermittelt - Pumpen-Einstellungen werden ermittelt - Pumpenzeit wird ermittelt - Status der TBR wird ermittelt + Status des verzögerten Bolus wird ermittelt. + Pumpen-Einstellungen werden ermittelt. + Pumpenzeit wird ermittelt. + Status der TBR wird ermittelt. Ungültig Langes durchschnittl. Delta ICT @@ -606,7 +606,7 @@ NSCI Lokale Alarme Benutze Systemmeldungen für Alarme und Meldungen - Pumpe ist nicht erreichbar + Pumpe ist nicht erreichbar. Alarm, wenn keine Glukose-Daten empfangen werden Alarm, wenn die Pumpe nicht erreichbar ist Pumpe ist nicht erreichbar Grenze [Min.] @@ -620,7 +620,7 @@ Bolus-Abgabe gestartet Warte auf Ende der Bolus-Abgabe. %1$d Sek. verbleiben. Befehl wird zurzeit ausgeführt. - BZ-Werte fehlen + BZ-Werte fehlen. Deaktiviert Bluetooth kurzzeitig, falls keine Verbindung zur Pumpe besteht. Dies kann für Smartphones mit Verbindungsproblemen nützlich sein. Essen g @@ -634,18 +634,18 @@ Speichere BZ-Werte in Nightscout G5 Upload Einstellungen Zeige detailliertes Delta - Zeige Delta mit Dezimalstelle + Delta wird mit Dezimalstelle angezeigt. Nicht unterstützte Pumpen-Firmware Sende BZ-Werte zu xDrip+ - Wähle in xDrip+ 640g/Eversense als Daten-Quelle + Wähle in xDrip+ 640g/Eversense als Daten-Quelle. Nightscout-Client BZ - Basal-Wert wurde durch den kleinst möglichen Wert ersetzt + Basal-Wert wurde durch den kleinst möglichen Wert ersetzt. APS ausgewählt Loop aktiviert - Nightscout-Client hat Schreibrechte - Maximales IOB richtig gesetzt + Nightscout-Client hat Schreibrechte. + Maximales IOB richtig gesetzt. Closed mode aktiviert - Aktiviere zusätzliche Funktionen wie z. B. den SMB + Aktiviere zusätzliche Funktionen wie z. B. SMB. BT Watchdog DexcomG5 App (patched) Aktivität @@ -655,39 +655,39 @@ Gestoppt (Benutzer) Gestoppt (Fehler) In Betrieb - Bolusabgabe wird vorbereitet - TBR wird abgebrochen - TBR wird gesetzt (%1$d%% / %2$d Min.) - Bolus (%1$.1f IE) wird abgegeben - Bitte starte dein Telefon neu oder starte AndroidAPS in den System-Einstellungen neu. Andernfalls wird AndroidAPS nicht protokolliert (wichtig zum Nachverfolgen und Verifizieren, dass der Algorithmus korrekt funktioniert) + Bolusabgabe wird vorbereitet. + TBR wird abgebrochen. + TBR wird gesetzt (%1$d%% / %2$d Min.). + Bolus (%1$.1f IE) wird abgegeben. + Bitte starte dein Telefon neu oder starte AndroidAPS in den System-Einstellungen neu. Andernfalls wird AndroidAPS nicht protokolliert (wichtig zum Nachverfolgen und Verifizieren, dass der Algorithmus korrekt funktioniert). TBR Ein gleich großer Bolus wurde in den letzten zwei Minuten angefordert. Dies ist nicht zulässig, um ungewollte Doppelboli zu verhindern und vor eventuellen Bugs zu schützen. - Historie wird gelesen - Basalratenprofil wird aktualisiert - Der abgegebene Bolus konnte nicht bestätigt werden. Bitte prüfe auf der Pumpe, ob ein Bolus abgegeben wurde. Sofern ein Bolus abgegeben wurde wird dieser zu den Behandlungen hinzugefügt sobald erneut eine Verbindung zur Pumpe zustande kommt. + Historie wird gelesen. + Basalratenprofil wird aktualisiert. + Der abgegebene Bolus konnte nicht bestätigt werden. Bitte prüfe auf der Pumpe, ob ein Bolus abgegeben wurde. Sofern ein Bolus abgegeben wurde, wird dieser zu den Behandlungen hinzugefügt, sobald erneut eine Verbindung zur Pumpe zustande kommt. Die Bolusabgabe ist fehlgeschlagen: Es wurde scheinbar kein Bolus abgegeben. Bitte prüfe auf der Pumpe, ob ein Bolus abgegeben wurde. Um doppelte Boli durch Programmfehler zu vermeiden, werden Boli nicht automatisch wiederholt. Wegen eines Fehlers wurden nur %1$.2f IE von den angeforderten %2$.2f IE abgegeben. Bitte prüfe den abgegebenen Bolus auf der Pumpe. - Status wird aktualisiert - Die Pumpe wird initialisiert + Status wird aktualisiert. + Die Pumpe wird initialisiert. Jetzt - Der Alarm \"TBR ABBRUCH\" wurde bestätigt + Der Alarm \"TBR ABBRUCH\" wurde bestätigt. Warnung Leer Niedrig Normal - Diese Aktion wird von der Pumpe nicht unterstützt - Die Batterie in der Pumpe ist fast leer - Das Reservoir in der Pumpe ist fast leer - Die Pumpe zeigt einen Fehler an E%1$d: %2$s - Unsichere Verwendung: In der Pumpe ist nicht das erste Basalratenprofil gewählt. Der Loop wird deaktiviert bis dies korrigiert ist. + Diese Aktion wird von der Pumpe nicht unterstützt. + Die Batterie in der Pumpe ist fast leer. + Das Reservoir in der Pumpe ist fast leer. + Die Pumpe zeigt einen Fehler an E%1$d: %2$s. + Unsichere Verwendung: In der Pumpe ist nicht das erste Basalratenprofil gewählt. Der Loop wird deaktiviert, bis dies korrigiert ist. Unsichere Verwendung: Ein erweiterter oder Multiwave-Bolus ist aktiv. Der Loop wird für die nächsten 6 Stunden kein zusätzliches Insulin abgeben. - Bitte aktualisiere die Uhrzeit der Pumpe + Bitte aktualisiere die Uhrzeit der Pumpe. Nicht mehr genug Insulin im Reservoir für den Bolus Ja Nein - BZ Berechnung - Bolus IOB Berechnung - Basal IOB Berechnung + BZ-Berechnung + Bolus-IOB Berechnung + Basal-IOB Berechnung Trend Berechnung Superbolus Berechnung Nur positive @@ -713,8 +713,8 @@ Änderungen der Historie werden gesucht Der Import mehrerer Boli der gleichen Menge, abgegeben in der gleichen Minute, ist gescheitert: Nur ein Datensatz konnte den Behandlungen hinzugefügt werden. Bitte überprüfe die Pumpe und verwende das Careportal, um fehlende Einträge hinzuzufügen. Stelle sicher, dass keine Einträge für genau dieselbe Minute mit derselben Menge hinzugefügt werden. Alarm stoppen - Bolus gestoppt - Bolus wird gestoppt + Bolus gestoppt. + Bolus wird gestoppt. Basalraten beginnen nicht zur vollen Stunde: %s Ungültiges Profil: %s vor %.1f h @@ -723,20 +723,20 @@ Zeit/Datum des abgegebenen Boluses auf der Pumpe erscheint falsch, IOB ist wahrscheinlich nicht korrekt. Bitte prüfe Zeit/Datum der Pumpe. Anzahl TBRs Anzahl Boluse - Pumpe gestoppt - Pumpe gestartet - Pumpe pausiert + Pumpe gestoppt. + Pumpe gestartet. + Pumpe pausiert. mit Wlan SSID Woche Warte auf Zeitsynchronisierung (%d Sek.) Warte auf Code-Bestätigung Benutze nur WLAN Verbindung - Benutze Super Micro Bolus anstelle von Temporären Basal für Schnellere Aktion + Benutze Super Micro Bolus anstelle von temporären Basal, um eine schnellere Wirkung zu erreichen. Unsichere Benutzung Zeit - Dritte KH Inkrement - Dritte Insulin Inkrement + Dritter KH-Schritt + Dritter Insulin-Schritt Temp. Basal der Pumpe Unterkategorie Bleibe immer verbunden @@ -744,9 +744,9 @@ Starte Essen TT Starte Aktivität TT Sensitivität - Sendet eine Kalibierung an xDrip+ oder öffnet den G5 Kalibrierungs-Dialog - Zweites Insulin Inkrement - Zweites KH Inkrement + Sendet eine Kalibierung an xDrip+ oder öffnet den G5 Kalibrierungs-Dialog. + Zweiter Insulin-Schritt + Zweiter KH-Schritt Sekunde Entwickler-Version. Closed Loop ist nicht verfügbar. Erfasse Katheter-Wechsel @@ -756,13 +756,13 @@ Tag Erlaubte SSIDs (Semikolon getrennt) Erlaube Verbindung bei Roaming - Autosense passt Zielwerte an - Insulin Resistenter Erwachsener + Autosense passt Zielwerte an. + Insulin resistenter Erwachsener Aktiviere UAM Aktiviere SMB - Erkennung von Unangekündigten Mahlzeiten - Hypo Dauer - Hypo Zielwert + Erkennung von unangekündigten Mahlzeiten + Hypo-Dauer + Hypo-Zielwert BZ verfügbar von gewählter Quelle Geändert PUMPE GESTOPPT @@ -770,18 +770,18 @@ Statistiken Aktiviere SMB immer Aktiviere SMB nach Mahlzeiten - Aktiviere SMB bei COB - Aktiviere SMB mit Temporären Zielwerten + Aktiviere SMB während COB + Aktiviere SMB während temporären Zielwerten Vorhersagen - Daten Auswahl + Daten-Auswahl SMB in Einstellungen deaktiviert Mahlzeiten Hartes Limit Lesen des Status fehlgeschlagen Getrennt (%1$d m) - Automatische Careportal Ereignisse - Erstes Insulin Inkrement - Erstes KH Inkrement + Automatische Careportal-Ereignisse + Erster Insulin-Schritt + Erster KH-Schritt Nur wenn geladen wird Verbindungs-Einstellungen Zielsetzung %d nicht gestartet From dbee8e622450c5533313fdf4a8e3c47d88a8a2cd Mon Sep 17 00:00:00 2001 From: swissalpine Date: Tue, 10 Jul 2018 22:50:58 +0200 Subject: [PATCH 15/41] Update strings.xml --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 263b33d367..83a71044aa 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -750,7 +750,7 @@ Sekunde Entwickler-Version. Closed Loop ist nicht verfügbar. Erfasse Katheter-Wechsel - Erfasse Resoirvoir-Wechsel + Erfasse Reservoir-Wechsel benötigt Abweichungen Tag From 20b6709ae41d86cc642c7871b465cb860d4e808c Mon Sep 17 00:00:00 2001 From: swissalpine Date: Tue, 10 Jul 2018 22:54:39 +0200 Subject: [PATCH 16/41] Update strings.xml --- app/src/main/res/values-de/strings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 83a71044aa..c6ca0be3b5 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -735,8 +735,8 @@ Benutze Super Micro Bolus anstelle von temporären Basal, um eine schnellere Wirkung zu erreichen. Unsichere Benutzung Zeit - Dritter KH-Schritt - Dritter Insulin-Schritt + Dritte KH-Erhöhung + Dritte Insulin-Erhöhung Temp. Basal der Pumpe Unterkategorie Bleibe immer verbunden @@ -745,8 +745,8 @@ Starte Aktivität TT Sensitivität Sendet eine Kalibierung an xDrip+ oder öffnet den G5 Kalibrierungs-Dialog. - Zweiter Insulin-Schritt - Zweiter KH-Schritt + Zweite Insulin-Erhöhung + Zweite KH-Erhöhung Sekunde Entwickler-Version. Closed Loop ist nicht verfügbar. Erfasse Katheter-Wechsel @@ -763,7 +763,7 @@ Erkennung von unangekündigten Mahlzeiten Hypo-Dauer Hypo-Zielwert - BZ verfügbar von gewählter Quelle + BZ verfügbar von gewählter Quelle. Geändert PUMPE GESTOPPT Aktive TBR @@ -774,18 +774,18 @@ Aktiviere SMB während temporären Zielwerten Vorhersagen Daten-Auswahl - SMB in Einstellungen deaktiviert + SMB in Einstellungen deaktiviert. Mahlzeiten Hartes Limit Lesen des Status fehlgeschlagen Getrennt (%1$d m) Automatische Careportal-Ereignisse - Erster Insulin-Schritt - Erster KH-Schritt + Erste Insulin-Erhöhung + Erste KH-Erhöhung Nur wenn geladen wird Verbindungs-Einstellungen - Zielsetzung %d nicht gestartet - Zielsetzung %d nicht abgeschlossen + Zielsetzung %d nicht gestartet. + Zielsetzung %d nicht abgeschlossen. Bolus nur erfassen - Bolus wird nur erfasst + Bolus wird nur erfasst. From b42ce70daa9d459e24626c2ff805e608b869f819 Mon Sep 17 00:00:00 2001 From: harisp Date: Wed, 11 Jul 2018 14:14:01 +0200 Subject: [PATCH 17/41] Fixed problem with corr numberpicker when using insight pump --- .../nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index bf2c9ec09b..ad092bd1e6 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -914,7 +914,6 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai public Constraint applyBolusConstraints(Constraint insulin) { if (statusResult != null) { insulin.setIfSmaller(statusResult.maximumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); - insulin.setIfGreater(statusResult.minimumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); } return insulin; } From 798199852b938126a44dbad221c26c7bf165c1b9 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 11 Jul 2018 17:34:41 +0300 Subject: [PATCH 18/41] CS translation --- app/src/main/res/values-cs/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index a3acd83205..4d20892429 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -248,7 +248,7 @@ Podávání %.2fU inzulínu Zkontrolovat, zda jsou glykémie a údaje z pumpy viditelné v Nightscoutu Nastavit vizualizaci a monitoring, analyzovat bazály a koeficienty - Provozovat několik dní otevřenou smyčku a ručně potvrzovat doporučené dočasné bazály. Set up and use temporary and default temporary targets (e.g. for activity or hypo treatment carbs) + Provozovat několik dní otevřenou smyčku a ručně potvrzovat doporučené dočasné bazály. Nastavovat a používat dočasné cíle (např. pro sport nebo hypo) Začít s otevřenou smyčkou Na základě předchozích zkušeností rozhodnout, jaký je třeba maximální bazál a nastavit ho v pumpě a v aplikaci Porozumět otevřené smyčce a doporučeným dočasným bazálům From e4e0e64eefc02dd4451ed2296c5a76e521d1dcf3 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 11 Jul 2018 18:02:20 +0300 Subject: [PATCH 19/41] another fix of displaying ext bolus --- .../plugins/Overview/OverviewFragment.java | 28 +++++++------------ 1 file changed, 10 insertions(+), 18 deletions(-) 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 186757917d..b035467a51 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 @@ -1200,15 +1200,12 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, } else { basalText = DecimalFormatter.to2Decimal(profile.getBasal()) + "U/h"; } - baseBasalView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String fullText = MainApp.gs(R.string.pump_basebasalrate_label) + ": " + DecimalFormatter.to2Decimal(profile.getBasal()) + "U/h\n"; - if (activeTemp != null) { - fullText += MainApp.gs(R.string.pump_tempbasal_label) + ": " + activeTemp.toStringFull(); - } - OKDialog.show(getActivity(), MainApp.gs(R.string.basal), fullText, null); + baseBasalView.setOnClickListener(v -> { + String fullText = MainApp.gs(R.string.pump_basebasalrate_label) + ": " + DecimalFormatter.to2Decimal(profile.getBasal()) + "U/h\n"; + if (activeTemp != null) { + fullText += MainApp.gs(R.string.pump_tempbasal_label) + ": " + activeTemp.toStringFull(); } + OKDialog.show(getActivity(), MainApp.gs(R.string.basal), fullText, null); }); } else { @@ -1237,22 +1234,17 @@ public class OverviewFragment extends Fragment implements View.OnClickListener, if (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses()) { extendedBolusText = DecimalFormatter.to2Decimal(extendedBolus.absoluteRate()) + "U/h"; } - extendedBolusView.setText(extendedBolusText); - extendedBolusView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - OKDialog.show(getActivity(), MainApp.gs(R.string.extendedbolus), extendedBolus.toString(), null); - } - }); - } else { if (extendedBolus != null && !pump.isFakingTempsByExtendedBoluses()) { extendedBolusText = extendedBolus.toString(); } - extendedBolusView.setText(extendedBolusText); + } + extendedBolusView.setText(extendedBolusText); + if (Config.NSCLIENT || Config.G5UPLOADER) { + extendedBolusView.setOnClickListener(v -> OKDialog.show(getActivity(), MainApp.gs(R.string.extendedbolus), extendedBolus.toString(), null)); } if (extendedBolusText.equals("")) - extendedBolusView.setVisibility(shorttextmode ? View.INVISIBLE : View.GONE); + extendedBolusView.setVisibility(Config.NSCLIENT || Config.G5UPLOADER ? View.INVISIBLE : View.GONE); else extendedBolusView.setVisibility(View.VISIBLE); } From d97e195ad110b0fc120e179fbd97ffe05626b0a4 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Wed, 11 Jul 2018 18:23:58 +0300 Subject: [PATCH 20/41] revert wrong autosens fix --- app/src/main/java/info/nightscout/androidaps/Config.java | 2 +- .../plugins/Sensitivity/SensitivityOref0Plugin.java | 2 +- .../plugins/Sensitivity/SensitivityOref1Plugin.java | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/Config.java b/app/src/main/java/info/nightscout/androidaps/Config.java index a12e0a9ea0..27ce9faee6 100644 --- a/app/src/main/java/info/nightscout/androidaps/Config.java +++ b/app/src/main/java/info/nightscout/androidaps/Config.java @@ -33,7 +33,7 @@ public class Config { public static final boolean logNSUpload = true; public static final boolean logPumpActions = true; public static final boolean logCongigBuilderActions = true; - public static final boolean logAutosensData = false; + public static final boolean logAutosensData = true; public static final boolean logEvents = false; public static final boolean logProfile = false; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java index cfe5dd28f6..a97297f551 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java @@ -72,7 +72,7 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No current autosens data available"); + log.debug("No autosens data available"); return new AutosensResult(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index ef220a6730..ae01c2158d 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -70,10 +70,9 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { } // the current - AutosensData current = IobCobCalculatorPlugin.getPlugin() - .getLastAutosensDataSynchronized("SensitivityOref1Plugin"); // this is running inside lock already + AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No current autosens data available"); + log.debug("No autosens data available"); return new AutosensResult(); } From 395f2313fd5615cd68ada257a6226d9065bf90fc Mon Sep 17 00:00:00 2001 From: harisp Date: Wed, 11 Jul 2018 18:17:09 +0200 Subject: [PATCH 21/41] Implemented feedback --- .../androidaps/plugins/PumpInsight/InsightPlugin.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index ad092bd1e6..bdfd547f51 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -914,6 +914,9 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai public Constraint applyBolusConstraints(Constraint insulin) { if (statusResult != null) { insulin.setIfSmaller(statusResult.maximumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); + + if(insulin.value() != 0) + insulin.setIfGreater(statusResult.minimumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); } return insulin; } From 8b200ba9de454157e430edd97e55a918cc528f86 Mon Sep 17 00:00:00 2001 From: harispoljo <34479922+harispoljo@users.noreply.github.com> Date: Wed, 11 Jul 2018 19:53:19 +0200 Subject: [PATCH 22/41] Fixed bug --- .../androidaps/plugins/PumpInsight/InsightPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index bdfd547f51..42dad2eb56 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -915,7 +915,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai if (statusResult != null) { insulin.setIfSmaller(statusResult.maximumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); - if(insulin.value() != 0) + if(insulin.value() < 0 && insulin.value() > 0.04 ) insulin.setIfGreater(statusResult.minimumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); } return insulin; From 63027696523186f4cdd4b691e4793ce143b21bf8 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Wed, 11 Jul 2018 20:19:42 +0200 Subject: [PATCH 23/41] Log app usage type daily. --- .../info/nightscout/androidaps/MainApp.java | 1 - .../receivers/KeepAliveReceiver.java | 2 +- .../info/nightscout/utils/FabricPrivacy.java | 56 +++++++++++-------- 3 files changed, 34 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/MainApp.java b/app/src/main/java/info/nightscout/androidaps/MainApp.java index 4ec1655848..dbb6ddee8b 100644 --- a/app/src/main/java/info/nightscout/androidaps/MainApp.java +++ b/app/src/main/java/info/nightscout/androidaps/MainApp.java @@ -196,7 +196,6 @@ public class MainApp extends Application { } NSUpload.uploadAppStart(); - FabricPrivacy.logAppStart(); final PumpInterface pump = ConfigBuilderPlugin.getActivePump(); if (pump != null) { 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 8ef966c340..d574b08f40 100644 --- a/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java +++ b/app/src/main/java/info/nightscout/androidaps/receivers/KeepAliveReceiver.java @@ -46,7 +46,7 @@ public class KeepAliveReceiver extends BroadcastReceiver { LocalAlertUtils.shortenSnoozeInterval(); LocalAlertUtils.checkStaleBGAlert(); checkPump(); - FabricPrivacy.reportPluginStats(); + FabricPrivacy.uploadDailyStats(); log.debug("KeepAlive received"); wl.release(); diff --git a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java index 5064b881dc..ce4217b1de 100644 --- a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java +++ b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java @@ -87,21 +87,7 @@ public class FabricPrivacy { } } - public static void logAppStart() { - if (Config.NSCLIENT) - getInstance().logCustom(new CustomEvent("AppStart-NSClient")); - else if (Config.G5UPLOADER) - getInstance().logCustom(new CustomEvent("AppStart-G5Uploader")); - else if (Config.PUMPCONTROL) - getInstance().logCustom(new CustomEvent("AppStart-PumpControl")); - else if (MainApp.getConstraintChecker().isClosedLoopAllowed().value()) - getInstance().logCustom(new CustomEvent("AppStart-ClosedLoop")); - else - getInstance().logCustom(new CustomEvent("AppStart-OpenLoop")); - - } - - public static void reportPluginStats() { + public static void uploadDailyStats() { if (!fabricEnabled()) return; long lastUploadDay = SP.getLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), 0L); @@ -113,15 +99,39 @@ public class FabricPrivacy { long today = date.getTime() - date.getTime() % 1000; if (today > lastUploadDay) { - CustomEvent pluginStats = new CustomEvent("PluginStats"); - pluginStats.putCustomAttribute("version", BuildConfig.VERSION); - for (PluginBase plugin : MainApp.getPluginsList()) { - if (plugin.isEnabled(plugin.getType()) && !plugin.pluginDescription.alwaysEnabled) { - pluginStats.putCustomAttribute(plugin.getName(), "enabled"); - } - } - FabricPrivacy.getInstance().logCustom(pluginStats); + uploadAppUsageType(); + uploadPluginStats(); + SP.putLong(MainApp.gs(R.string.key_plugin_stats_report_timestamp), today); } } + + private static void uploadPluginStats() { + CustomEvent pluginStats = new CustomEvent("PluginStats"); + pluginStats.putCustomAttribute("version", BuildConfig.VERSION); + for (PluginBase plugin : MainApp.getPluginsList()) { + if (plugin.isEnabled(plugin.getType()) && !plugin.pluginDescription.alwaysEnabled) { + pluginStats.putCustomAttribute(plugin.getName(), "enabled"); + } + } + + getInstance().logCustom(pluginStats); + } + + private static void uploadAppUsageType() { + CustomEvent type = new CustomEvent("AppUsageType"); + if (Config.NSCLIENT) + type.putCustomAttribute("type", "NSClient"); + else if (Config.G5UPLOADER) + type.putCustomAttribute("type", "G5Uploader"); + else if (Config.PUMPCONTROL) + type.putCustomAttribute("type", "PumpControl"); + else if (MainApp.getConstraintChecker().isClosedLoopAllowed().value()) + type.putCustomAttribute("type", "ClosedLoop"); + else + type.putCustomAttribute("type", "OpenLoop"); + + getInstance().logCustom(type); + } + } From 5b9ede15eaa597d3cfde4d1e39178d89de9d66fc Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Thu, 12 Jul 2018 15:47:45 +0200 Subject: [PATCH 24/41] PluginStats: used simple class named instead of translated name. --- app/src/main/java/info/nightscout/utils/FabricPrivacy.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java index ce4217b1de..ad498fa4f7 100644 --- a/app/src/main/java/info/nightscout/utils/FabricPrivacy.java +++ b/app/src/main/java/info/nightscout/utils/FabricPrivacy.java @@ -111,7 +111,7 @@ public class FabricPrivacy { pluginStats.putCustomAttribute("version", BuildConfig.VERSION); for (PluginBase plugin : MainApp.getPluginsList()) { if (plugin.isEnabled(plugin.getType()) && !plugin.pluginDescription.alwaysEnabled) { - pluginStats.putCustomAttribute(plugin.getName(), "enabled"); + pluginStats.putCustomAttribute(plugin.getClass().getSimpleName(), "enabled"); } } From 6b24eea5ae8f77853848fe44c7a5cc22df0a4428 Mon Sep 17 00:00:00 2001 From: swissalpine Date: Thu, 12 Jul 2018 18:57:47 +0200 Subject: [PATCH 25/41] Update strings.xml --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index c6ca0be3b5..632ae64c3f 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -428,7 +428,7 @@ Nightscout-URL Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden. Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren. - Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte feste und temporäre Zielwerte ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). + Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäre und anlassbezogene Zielbereiche ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). Starte den Open Loop Modus. VERALTETE DATEN Laufende Benachrichtigungen @@ -577,7 +577,7 @@ DanaRS Dana Datum - Standard temp. Ziele + Anlassbezogene Zielbereiche Bald essen - Dauer Bald essen - Ziel Reservoir leer From dcfcd14e96c24ad1cf589951028046584fa7a9ab Mon Sep 17 00:00:00 2001 From: swissalpine Date: Thu, 12 Jul 2018 19:21:47 +0200 Subject: [PATCH 26/41] Update strings.xml --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 632ae64c3f..baec61bcd1 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -428,7 +428,7 @@ Nightscout-URL Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden. Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren. - Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäre und anlassbezogene Zielbereiche ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). + Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäre und anlassbezogene temporäre Zielbereiche ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). Starte den Open Loop Modus. VERALTETE DATEN Laufende Benachrichtigungen @@ -577,7 +577,7 @@ DanaRS Dana Datum - Anlassbezogene Zielbereiche + Anlassbezogene temporäre Zielbereiche Bald essen - Dauer Bald essen - Ziel Reservoir leer From cb826da403e544ce3398019499775ea15f94db9f Mon Sep 17 00:00:00 2001 From: AdrianLxM Date: Thu, 12 Jul 2018 19:37:21 +0200 Subject: [PATCH 27/41] Revert "Fixed problem with Corr numberpicker when using Insightpump" --- .../androidaps/plugins/PumpInsight/InsightPlugin.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java index 42dad2eb56..bf2c9ec09b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpInsight/InsightPlugin.java @@ -914,9 +914,7 @@ public class InsightPlugin extends PluginBase implements PumpInterface, Constrai public Constraint applyBolusConstraints(Constraint insulin) { if (statusResult != null) { insulin.setIfSmaller(statusResult.maximumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); - - if(insulin.value() < 0 && insulin.value() > 0.04 ) - insulin.setIfGreater(statusResult.minimumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); + insulin.setIfGreater(statusResult.minimumBolusAmount, String.format(MainApp.gs(R.string.limitingbolus), statusResult.maximumBolusAmount, MainApp.gs(R.string.pumplimit)), this); } return insulin; } From 35e93ffafd00379ba8bd0f7357de0a6b1acac9ea Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Thu, 12 Jul 2018 21:28:35 +0300 Subject: [PATCH 28/41] more debug to autosens --- .../plugins/IobCobCalculator/AutosensResult.java | 2 +- .../IobCobCalculator/IobCobCalculatorPlugin.java | 7 +++++++ .../IobCobCalculator/IobCobOref1Thread.java | 7 +++++-- .../plugins/IobCobCalculator/IobCobThread.java | 4 ++-- .../plugins/OpenAPSAMA/OpenAPSAMAPlugin.java | 1 + .../plugins/OpenAPSSMB/OpenAPSSMBPlugin.java | 1 + .../Sensitivity/SensitivityAAPSPlugin.java | 9 +++------ .../Sensitivity/SensitivityOref0Plugin.java | 10 +++------- .../Sensitivity/SensitivityOref1Plugin.java | 10 +++------- .../SensitivityWeightedAveragePlugin.java | 15 ++++++++------- 10 files changed, 34 insertions(+), 32 deletions(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java index 6602038fb4..fbd5b0a0d1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/AutosensResult.java @@ -14,7 +14,7 @@ public class AutosensResult { //default values to show when autosens algorithm is not called public double ratio = 1d; public double carbsAbsorbed = 0d; - public String sensResult = "autosens deactivated"; + public String sensResult = "autosens not available"; public String pastSensitivity = ""; public String ratioLimit = ""; 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 index 3f2cac2c1b..a34ae6a308 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobCalculatorPlugin.java @@ -456,6 +456,13 @@ public class IobCobCalculatorPlugin extends PluginBase { } } + public String lastDataTime() { + if (autosensDataTable.size() > 0) + return DateUtil.dateAndTimeString(autosensDataTable.valueAt(autosensDataTable.size() - 1).time); + else + return "autosensDataTable empty"; + } + public IobTotal[] calculateIobArrayInDia(Profile profile) { // predict IOB out to DIA plus 30m long time = System.currentTimeMillis(); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java index 725cfab741..a4374541a5 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobOref1Thread.java @@ -337,8 +337,11 @@ public class IobCobOref1Thread extends Thread { if (bgTime < now()) autosensDataTable.put(bgTime, autosensData); if (Config.logAutosensData) - log.debug("Running detectSensitivity from: " + DateUtil.dateAndTimeString(oldestTimeWithData) + " to: " + DateUtil.dateAndTimeString(bgTime)); - autosensData.autosensRatio = iobCobCalculatorPlugin.detectSensitivity(oldestTimeWithData, bgTime).ratio; + log.debug("Running detectSensitivity from: " + DateUtil.dateAndTimeString(oldestTimeWithData) + " to: " + DateUtil.dateAndTimeString(bgTime) + " lastDataTime:" + IobCobCalculatorPlugin.getPlugin().lastDataTime()); + AutosensResult sensitivity = iobCobCalculatorPlugin.detectSensitivityWithLock(oldestTimeWithData, bgTime); + if (Config.logAutosensData) + log.debug("Sensitivity result: " + sensitivity.toString()); + autosensData.autosensRatio = sensitivity.ratio; if (Config.logAutosensData) log.debug(autosensData.toString()); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java index 2ba476996f..de4a70224c 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/IobCobCalculator/IobCobThread.java @@ -264,8 +264,8 @@ public class IobCobThread extends Thread { if (bgTime < now()) autosensDataTable.put(bgTime, autosensData); if (Config.logAutosensData) - log.debug("Running detectSensitivity from: " + DateUtil.dateAndTimeString(oldestTimeWithData) + " to: " + DateUtil.dateAndTimeString(bgTime)); - AutosensResult sensitivity = iobCobCalculatorPlugin.detectSensitivity(oldestTimeWithData, bgTime); + log.debug("Running detectSensitivity from: " + DateUtil.dateAndTimeString(oldestTimeWithData) + " to: " + DateUtil.dateAndTimeString(bgTime) + " lastDataTime:" + IobCobCalculatorPlugin.getPlugin().lastDataTime()); + AutosensResult sensitivity = iobCobCalculatorPlugin.detectSensitivityWithLock(oldestTimeWithData, bgTime); if (Config.logAutosensData) log.debug("Sensitivity result: " + sensitivity.toString()); autosensData.autosensRatio = sensitivity.ratio; 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 b6e07bb004..937489bc8f 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 @@ -176,6 +176,7 @@ public class OpenAPSAMAPlugin extends PluginBase implements APSInterface { lastAutosensResult = IobCobCalculatorPlugin.getPlugin().detectSensitivityWithLock(IobCobCalculatorPlugin.getPlugin().oldestDataAvailable(), System.currentTimeMillis()); } else { lastAutosensResult = new AutosensResult(); + lastAutosensResult.sensResult = "autosens disabled"; } Profiler.log(log, "detectSensitivityandCarbAbsorption()", startPart); Profiler.log(log, "AMA data gathering", start); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java index f28a6eff8e..3227be526e 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/OpenAPSSMB/OpenAPSSMBPlugin.java @@ -183,6 +183,7 @@ public class OpenAPSSMBPlugin extends PluginBase implements APSInterface { lastAutosensResult = IobCobCalculatorPlugin.getPlugin().detectSensitivityWithLock(IobCobCalculatorPlugin.getPlugin().oldestDataAvailable(), System.currentTimeMillis()); } else { lastAutosensResult = new AutosensResult(); + lastAutosensResult.sensResult = "autosens disabled"; } Constraint smbAllowed = new Constraint<>(!tempBasalFallback); diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java index fdf85c064e..4fbde5f9f8 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityAAPSPlugin.java @@ -15,16 +15,13 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.SensitivityInterface; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; -import info.nightscout.utils.Round; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.SP; -import info.nightscout.utils.SafeParse; /** * Created by mike on 24.06.2017. @@ -70,13 +67,13 @@ public class SensitivityAAPSPlugin extends AbstractSensitivityPlugin { } if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available"); + log.debug("No autosens data available. lastDataTime=" + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No autosens data available"); + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java index a97297f551..d9c7b97d04 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref0Plugin.java @@ -15,16 +15,12 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.SensitivityInterface; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; -import info.nightscout.utils.Round; -import info.nightscout.utils.SP; -import info.nightscout.utils.SafeParse; +import info.nightscout.utils.DateUtil; /** * Created by mike on 24.06.2017. @@ -66,13 +62,13 @@ public class SensitivityOref0Plugin extends AbstractSensitivityPlugin { } if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available"); + log.debug("No autosens data available. lastDataTime=" + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No autosens data available"); + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java index ae01c2158d..42f02b12de 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityOref1Plugin.java @@ -15,16 +15,12 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.SensitivityInterface; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; -import info.nightscout.utils.Round; -import info.nightscout.utils.SP; -import info.nightscout.utils.SafeParse; +import info.nightscout.utils.DateUtil; /** * Created by mike on 19.06.2018. @@ -65,14 +61,14 @@ public class SensitivityOref1Plugin extends AbstractSensitivityPlugin { } if (autosensDataTable == null || autosensDataTable.size() < 4) { - log.debug("No autosens data available"); + log.debug("No autosens data available. lastDataTime=" + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } // the current AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already if (current == null) { - log.debug("No autosens data available"); + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java index ed185e88f9..b4dd5ab250 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Sensitivity/SensitivityWeightedAveragePlugin.java @@ -13,16 +13,13 @@ import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; import info.nightscout.androidaps.db.CareportalEvent; -import info.nightscout.androidaps.interfaces.PluginBase; import info.nightscout.androidaps.interfaces.PluginDescription; import info.nightscout.androidaps.interfaces.PluginType; -import info.nightscout.androidaps.interfaces.SensitivityInterface; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensData; import info.nightscout.androidaps.plugins.IobCobCalculator.AutosensResult; import info.nightscout.androidaps.plugins.IobCobCalculator.IobCobCalculatorPlugin; -import info.nightscout.utils.Round; +import info.nightscout.utils.DateUtil; import info.nightscout.utils.SP; -import info.nightscout.utils.SafeParse; /** * Created by mike on 24.06.2017. @@ -61,15 +58,14 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin int hoursForDetection = SP.getInt(R.string.key_openapsama_autosens_period, defaultHours); if (autosensDataTable == null || autosensDataTable.size() < 4) { - if (Config.logAutosensData) - log.debug("No autosens data available"); + log.debug("No autosens data available. lastDataTime=" + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } AutosensData current = IobCobCalculatorPlugin.getPlugin().getAutosensData(toTime); // this is running inside lock already if (current == null) { if (Config.logAutosensData) - log.debug("No autosens data available"); + log.debug("No autosens data available. toTime: " + DateUtil.dateAndTimeString(toTime) + " lastDataTime: " + IobCobCalculatorPlugin.getPlugin().lastDataTime()); return new AutosensResult(); } @@ -134,7 +130,12 @@ public class SensitivityWeightedAveragePlugin extends AbstractSensitivityPlugin } if (data.size() == 0) { + if (Config.logAutosensData) + log.debug("Data size: " + data.size() + " fromTime: " + DateUtil.dateAndTimeString(fromTime) + " toTime: " + DateUtil.dateAndTimeString(toTime)); return new AutosensResult(); + } else { + if (Config.logAutosensData) + log.debug("Data size: " + data.size() + " fromTime: " + DateUtil.dateAndTimeString(fromTime) + " toTime: " + DateUtil.dateAndTimeString(toTime)); } double weightedsum = 0; From 695997ebb96c576dff71d30f1a8c4ad4decbb94d Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 13 Jul 2018 09:50:04 +0300 Subject: [PATCH 29/41] RS: delay before reading history --- .../androidaps/plugins/PumpDanaRS/services/DanaRSService.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java index ff4203fd7b..7fa935d2ca 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/DanaRSService.java @@ -210,6 +210,8 @@ public class DanaRSService extends Service { return result; } + SystemClock.sleep(1000); + DanaRS_Packet_APS_History_Events msg; if (lastHistoryFetched == 0) { msg = new DanaRS_Packet_APS_History_Events(0); From 8f641f994f85b345955828fe4d98f8f93e1cfc29 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Fri, 13 Jul 2018 18:03:04 +0300 Subject: [PATCH 30/41] RSv3 firmware error reporting --- .../Overview/notifications/Notification.java | 2 ++ .../plugins/PumpDanaRS/services/BLEComm.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java index 71b4842b8e..8c91e2896b 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/notifications/Notification.java @@ -42,6 +42,8 @@ public class Notification { public static final int APPROACHING_DAILY_LIMIT = 11; public static final int NSCLIENT_NO_WRITE_PERMISSION = 12; public static final int MISSING_SMS_PERMISSION = 13; + public static final int PUMPERROR = 14; + public static final int WRONGSERIALNUMBER = 15; public static final int NSANNOUNCEMENT = 18; public static final int NSALARM = 19; diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java index 5b6afb8089..9df2ebc0a1 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/services/BLEComm.java @@ -25,6 +25,8 @@ import java.util.concurrent.ScheduledFuture; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.events.EventPumpStatusChanged; +import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification; +import info.nightscout.androidaps.plugins.Overview.notifications.Notification; import info.nightscout.androidaps.plugins.PumpDanaR.DanaRPump; import info.nightscout.androidaps.plugins.PumpDanaRS.DanaRSPlugin; import info.nightscout.androidaps.plugins.PumpDanaRS.activities.PairingHelperActivity; @@ -32,6 +34,7 @@ import info.nightscout.androidaps.plugins.PumpDanaRS.comm.DanaRSMessageHashTable import info.nightscout.androidaps.plugins.PumpDanaRS.comm.DanaRS_Packet; import info.nightscout.androidaps.plugins.PumpDanaRS.events.EventDanaRSPacket; import info.nightscout.androidaps.plugins.PumpDanaRS.events.EventDanaRSPairingSuccess; +import info.nightscout.utils.NSUpload; import info.nightscout.utils.SP; /** @@ -421,14 +424,25 @@ public class BLEComm { SendPairingRequest(); } + } else if (inputBuffer.length == 6 && inputBuffer[2] == 'P' && inputBuffer[3] == 'U' && inputBuffer[4] == 'M' && inputBuffer[5] == 'P') { + log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (PUMP)" + " " + DanaRS_Packet.toHexString(inputBuffer)); + mSendQueue.clear(); + MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.pumperror))); + NSUpload.uploadError(MainApp.gs(R.string.pumperror)); + Notification n = new Notification(Notification.PUMPERROR, MainApp.gs(R.string.pumperror), Notification.URGENT); + MainApp.bus().post(new EventNewNotification(n)); } else if (inputBuffer.length == 6 && inputBuffer[2] == 'B' && inputBuffer[3] == 'U' && inputBuffer[4] == 'S' && inputBuffer[5] == 'Y') { log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (BUSY)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.pumpbusy))); } else { + // ERROR in response, wrong serial number log.debug("<<<<< " + "ENCRYPTION__PUMP_CHECK (ERROR)" + " " + DanaRS_Packet.toHexString(inputBuffer)); mSendQueue.clear(); MainApp.bus().post(new EventPumpStatusChanged(EventPumpStatusChanged.DISCONNECTED, MainApp.gs(R.string.connectionerror))); + SP.remove(MainApp.gs(R.string.key_danars_pairingkey) + DanaRSPlugin.mDeviceName); + Notification n = new Notification(Notification.WRONGSERIALNUMBER, MainApp.gs(R.string.wrongpassword), Notification.URGENT); + MainApp.bus().post(new EventNewNotification(n)); } break; // 2nd packet, pairing key From 55cf0aa8e5e87335d55e57d891ef68f51ea3ead6 Mon Sep 17 00:00:00 2001 From: swissalpine Date: Sat, 14 Jul 2018 11:36:22 +0200 Subject: [PATCH 31/41] =?UTF-8?q?"Feste=20tempor=C3=A4re=20Ziele"=20+=20Ze?= =?UTF-8?q?ichensetzung=20+=20min?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - "Feste temporäre Ziele" (besser?) - Interpunktion (die Punkte habe ich teilweise wieder entfernt, immer dann, wenn es keine Erklärungen waren) - Abkürzung "min" statt "Min." (die "offizielle" halt) --- app/src/main/res/values-de/strings.xml | 116 ++++++++++++------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index baec61bcd1..434ce98136 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -151,7 +151,7 @@ Manuelle Aktionen Kohlenhydrat-Beschränkung erreicht Datenbanken zurücksetzen - Erneure Behandlungen von Nightscout. + Erneure Behandlungen von Nightscout Exit Fehlend Eingabe neuer Behandlung: @@ -378,34 +378,34 @@ DIA: Deaktiviere Loop Verbindung wird getrennt - Trenne Pumpe für 1 h. - Trenne Pumpe für 2 h. - Trenne Pumpe für 15 Min. - Trenne Pumpe für 30 Min. - Trenne Pumpe für 3 h. + Trenne Pumpe für 1 h + Trenne Pumpe für 2 h + Trenne Pumpe für 15 min + Trenne Pumpe für 30 min + Trenne Pumpe für 3 h Bald essen Greek - Aktiviere Loop. - Aktiviere SuperBolus im Wizard. + Aktiviere Loop + Aktiviere SuperBolus im Wizard Wird ausgeführt Verlängerter Bolus Fast Acting Insulin Novorapid, Novolog, Humalog - Pumpenstatus wird geladen. + Pumpenstatus wird geladen Stunden Initialisierung … Ungültiges oder defektes Profil! IOB Lokales Profil Superbolus (%1$d Min.) - Loop pausiert. + Loop pausiert Pausiert (%1$d Min.) Abbrechen OK mg/dl mmol/l Über - Logs anzeigen. + Logs anzeigen Nicht erfolgreich - bitte Telefon prüfen Nicht verfügbar Nightscout-Client hat keine Schreibrechte. Falscher API-Key? @@ -420,19 +420,19 @@ Sehr hoch Sehr niedrig Autoscroll - Nightscout API-Key eingeben (min. 12 Zeichen). + Nightscout API-Key eingeben (min. 12 Zeichen) Nightscout API-Key Nightscout API-Key URL: Nightscout-URL eingeben Nightscout-URL Verifiziere, dass BZ- und Pumpen-Insulin-Daten in Nightscout erfolgreich hoch geladen werden. - Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren. - Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäre und anlassbezogene temporäre Zielbereiche ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). - Starte den Open Loop Modus. + Konfiguriere die Anzeige und das Monitoring (Nightscout) und analysiere Basal-Raten und Faktoren + Erprobe den Open Loop Modus für ein paar Tage und setze manuell temporäre Basal-Raten. Richte temporäre Ziele ein und nutze sie (z.B. für Bewegung, unterstützend zur Hypobehandlung). + Starte den Open Loop Modus VERALTETE DATEN Laufende Benachrichtigungen - Öffne Einstellungen auf der Uhr. + Öffne Einstellungen auf der Uhr OpenAPS OAPS OpenAPS AMA @@ -450,12 +450,12 @@ Pumpe nicht initialisiert! Pumpe nicht initialisiert, Profil nicht gesetzt! Pumpe stoppen - Pumpe pausiert. + Pumpe pausiert Warteschlange: QuickWizard - Aktualisiere Einträge von Nightscout. + Aktualisiere Einträge von Nightscout Lösche Eintrag: - Alle Daten erneut senden. + Alle Daten erneut senden Möchtest du die Datenbank wirklich zurücksetzen? Neustart App wird beendet, um neue Einstellungen zu laden. @@ -463,7 +463,7 @@ Russisch Kalibrierung %1$.1f an xDrip+ senden? Passwort für die Einstellungen - TBR wird gesetzt. + TBR wird gesetzt Kurze Tab-Überschriften Zeige Warteschlange BZ: @@ -473,13 +473,13 @@ IOB: Letzter BZ: Status: - Verrlängerter Bolus wird abgebrochen. - TBR wird abgebrochen. - Pausiere Loop für 1 h. - Pausiere Loop für 2 h. - Pausiere Loop für 3 h. + Verrlängerter Bolus wird abgebrochen + TBR wird abgebrochen + Pausiere Loop für 1 h + Pausiere Loop für 2 h + Pausiere Loop für 3 h Schwedish - Basalraten werden aktualisiert. + Basalraten werden aktualisiert Sensoralter Wechsle Modus von IE/d zu IE/h in der Pumpe Insgesamt %1$d Einträge erfolgreich hochgeladen @@ -489,7 +489,7 @@ Veraltete Daten Veraltete Daten seit [Min.] Autosens-Daten - Max IE/h, die als TBR gesetzt werden können. + Max IE/h, die als TBR gesetzt werden können Maximales Basal-IOB, das OpenAPS abgeben darf [IE] Hoch- und Niedrig-Werte für die Übersicht- und die Smartwatch-Anzeige Zielbereich für die Grafikanzeige @@ -497,8 +497,8 @@ Sensitivität AAPS Sensitivität Oref0 Durchschnittliche Sensitivität - Verlängerter Bolus wird gesetzt. - vor %1$d Min. + Verlängerter Bolus wird gesetzt + vor %1$d min Um die TBR abzubrechen, antworte mit dem Code %s. Bolus %.2f IE erfolgreich abgegeben xDrip+ hat die Kalbrierung nicht erhalten @@ -529,8 +529,8 @@ Model: %1$02X Protokoll: %2$02X Code: %3$02X Empfindlichkeitserkennung COB - Verstehe den Open Loop und die TBR-Empfehlungen. - Verwende AMA Autosense. + Verstehe den Open Loop und die TBR-Empfehlungen + Verwende AMA Autosense Um eine BR mit %1$.2f IE/h zu starten, antworte mit dem Code %2$s. Fiasp Ultra-Rapid Oref @@ -541,12 +541,12 @@ Anzahl der vergangenen Stunden, die verwendet werden, um die Sensitivität zu erkennen (Zeit, in der KH resorbiert werden, ist nicht berücksichtigt) Entscheide anhand von dieser Erfahrung, wie hoch max Basal sein sollte, und übernehme den Wert in die Pumpen- und AAPS-Einstellungen. Erprobe den Closed Loop Modus mit max IOB = 0 für ein paar Tage, ohne zu viele Unterzuckerungen zu haben. - Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten. + Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten Verwende es ein paar Tage und zumindest eine Nacht ohne Niedrig-Alarme (UZ), bevor du den BZ-Zielbereich senkst. Stelle den Closed Loop fein ein, erhöhe max IOB über 0 und setze den Zielbereich langsam herunter. Loope eine Woche erfolgreich am Tag mit regelmäßiger Kohlenhydrat-Eingabe. - Passe, falls notwendig, Basal und Faktoren an und aktiviere dann die Autosense-Funktion. - Aktiviere zusätzliche Funktionen, wie z. B. den Mahlzeitenassistent. + Passe, falls notwendig, Basal und Faktoren an und aktiviere dann die Autosense-Funktion + Aktiviere zusätzliche Funktionen, wie z. B. den Mahlzeitenassistent Stark veraltete Daten Stark veraltete Daten seit [Min.] Dutch @@ -577,15 +577,15 @@ DanaRS Dana Datum - Anlassbezogene temporäre Zielbereiche + Feste temporäre Ziele Bald essen - Dauer Bald essen - Ziel Reservoir leer Ausgeführt - Status des verzögerten Bolus wird ermittelt. - Pumpen-Einstellungen werden ermittelt. - Pumpenzeit wird ermittelt. - Status der TBR wird ermittelt. + Status des verzögerten Bolus wird ermittelt + Pumpen-Einstellungen werden ermittelt + Pumpenzeit wird ermittelt + Status der TBR wird ermittelt Ungültig Langes durchschnittl. Delta ICT @@ -606,7 +606,7 @@ NSCI Lokale Alarme Benutze Systemmeldungen für Alarme und Meldungen - Pumpe ist nicht erreichbar. + Pumpe ist nicht erreichbar Alarm, wenn keine Glukose-Daten empfangen werden Alarm, wenn die Pumpe nicht erreichbar ist Pumpe ist nicht erreichbar Grenze [Min.] @@ -618,9 +618,9 @@ Status des Bolus wird ermittelt PAIRING Bolus-Abgabe gestartet - Warte auf Ende der Bolus-Abgabe. %1$d Sek. verbleiben. - Befehl wird zurzeit ausgeführt. - BZ-Werte fehlen. + Warte auf Ende der Bolus-Abgabe. %1$d Sek. verbleiben + Befehl wird zurzeit ausgeführt + BZ-Werte fehlen Deaktiviert Bluetooth kurzzeitig, falls keine Verbindung zur Pumpe besteht. Dies kann für Smartphones mit Verbindungsproblemen nützlich sein. Essen g @@ -645,30 +645,30 @@ Nightscout-Client hat Schreibrechte. Maximales IOB richtig gesetzt. Closed mode aktiviert - Aktiviere zusätzliche Funktionen wie z. B. SMB. + Aktiviere zusätzliche Funktionen wie z. B. SMB BT Watchdog DexcomG5 App (patched) Aktivität %1$d%% (%2$d Min. verbleibend) - Keine Verbindung zur Pumpe seit %1$d Min. + Keine Verbindung zur Pumpe seit %1$d min Status Gestoppt (Benutzer) Gestoppt (Fehler) In Betrieb - Bolusabgabe wird vorbereitet. - TBR wird abgebrochen. - TBR wird gesetzt (%1$d%% / %2$d Min.). - Bolus (%1$.1f IE) wird abgegeben. + Bolusabgabe wird vorbereitet + TBR wird abgebrochen + TBR wird gesetzt (%1$d%% / %2$d min) + Bolus (%1$.1f IE) wird abgegeben Bitte starte dein Telefon neu oder starte AndroidAPS in den System-Einstellungen neu. Andernfalls wird AndroidAPS nicht protokolliert (wichtig zum Nachverfolgen und Verifizieren, dass der Algorithmus korrekt funktioniert). TBR Ein gleich großer Bolus wurde in den letzten zwei Minuten angefordert. Dies ist nicht zulässig, um ungewollte Doppelboli zu verhindern und vor eventuellen Bugs zu schützen. - Historie wird gelesen. - Basalratenprofil wird aktualisiert. + Historie wird gelesen + Basalratenprofil wird aktualisiert Der abgegebene Bolus konnte nicht bestätigt werden. Bitte prüfe auf der Pumpe, ob ein Bolus abgegeben wurde. Sofern ein Bolus abgegeben wurde, wird dieser zu den Behandlungen hinzugefügt, sobald erneut eine Verbindung zur Pumpe zustande kommt. Die Bolusabgabe ist fehlgeschlagen: Es wurde scheinbar kein Bolus abgegeben. Bitte prüfe auf der Pumpe, ob ein Bolus abgegeben wurde. Um doppelte Boli durch Programmfehler zu vermeiden, werden Boli nicht automatisch wiederholt. Wegen eines Fehlers wurden nur %1$.2f IE von den angeforderten %2$.2f IE abgegeben. Bitte prüfe den abgegebenen Bolus auf der Pumpe. - Status wird aktualisiert. - Die Pumpe wird initialisiert. + Status wird aktualisiert + Die Pumpe wird initialisiert Jetzt Der Alarm \"TBR ABBRUCH\" wurde bestätigt. Warnung @@ -713,8 +713,8 @@ Änderungen der Historie werden gesucht Der Import mehrerer Boli der gleichen Menge, abgegeben in der gleichen Minute, ist gescheitert: Nur ein Datensatz konnte den Behandlungen hinzugefügt werden. Bitte überprüfe die Pumpe und verwende das Careportal, um fehlende Einträge hinzuzufügen. Stelle sicher, dass keine Einträge für genau dieselbe Minute mit derselben Menge hinzugefügt werden. Alarm stoppen - Bolus gestoppt. - Bolus wird gestoppt. + Bolus gestoppt + Bolus wird gestoppt Basalraten beginnen nicht zur vollen Stunde: %s Ungültiges Profil: %s vor %.1f h @@ -723,9 +723,9 @@ Zeit/Datum des abgegebenen Boluses auf der Pumpe erscheint falsch, IOB ist wahrscheinlich nicht korrekt. Bitte prüfe Zeit/Datum der Pumpe. Anzahl TBRs Anzahl Boluse - Pumpe gestoppt. - Pumpe gestartet. - Pumpe pausiert. + Pumpe gestoppt + Pumpe gestartet + Pumpe pausiert mit Wlan SSID Woche From 2bcbd6f2f19d2b2bf7cc73b9ec475dd48a603950 Mon Sep 17 00:00:00 2001 From: swissalpine Date: Sat, 14 Jul 2018 17:28:04 +0200 Subject: [PATCH 32/41] =?UTF-8?q?=C3=9Cbersehenes=20...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/values-de/strings.xml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 434ce98136..7b0f71f416 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -272,7 +272,7 @@ Button 2 Button 3 Konfiguration - vor %d Min. + vor %d min AKT WEAR VP @@ -338,7 +338,7 @@ CARBS & BOLUS CGM & OPENAPS Insulinalter - Dauer [Min.] + Dauer [min] Pausiert Patientenalter Bitte wähle das Pateintenalter, um die Sicherheits-Limits festzulegen @@ -355,7 +355,7 @@ Einstellungen der virtuellen Pumpe Status zu Nightscout hochladen Superbolus - Pausiere Loop für 10 h. + Pausiere Loop für 10 h Insgesamt %d Einträge. Aktueller Wert: IAGE Batteriealter @@ -397,9 +397,9 @@ Ungültiges oder defektes Profil! IOB Lokales Profil - Superbolus (%1$d Min.) + Superbolus (%1$d min) Loop pausiert - Pausiert (%1$d Min.) + Pausiert (%1$d min) Abbrechen OK mg/dl @@ -487,7 +487,7 @@ INS %1$s benötigt Batterie-Optimierungs-Whitelisting, um korrekt arbeiten zu können. Veraltete Daten - Veraltete Daten seit [Min.] + Veraltete Daten seit [min] Autosens-Daten Max IE/h, die als TBR gesetzt werden können Maximales Basal-IOB, das OpenAPS abgeben darf [IE] @@ -520,7 +520,7 @@ TBR abgebrochen Das Abbrechen der TBR ist fehlgeschlagen. Das Starten der TBR ist fehlgeschlagen. - TBR mitl %1$.2f IE/h für %2$d Min. wurde erfolgreich gestartet. + TBR mitl %1$.2f IE/h für %2$d min wurde erfolgreich gestartet. Unbekannter Befehl oder falsche Antwort Falsche Dauer Einstellungen freischalten @@ -548,7 +548,7 @@ Passe, falls notwendig, Basal und Faktoren an und aktiviere dann die Autosense-Funktion Aktiviere zusätzliche Funktionen, wie z. B. den Mahlzeitenassistent Stark veraltete Daten - Stark veraltete Daten seit [Min.] + Stark veraltete Daten seit [min] Dutch Peak Time [min] IOB Curve Peak Time @@ -609,7 +609,7 @@ Pumpe ist nicht erreichbar Alarm, wenn keine Glukose-Daten empfangen werden Alarm, wenn die Pumpe nicht erreichbar ist - Pumpe ist nicht erreichbar Grenze [Min.] + Pumpe ist nicht erreichbar Grenze [min] Aktualisieren TZ TBR @@ -649,7 +649,7 @@ BT Watchdog DexcomG5 App (patched) Aktivität - %1$d%% (%2$d Min. verbleibend) + %1$d%% (%2$d min verbleibend) Keine Verbindung zur Pumpe seit %1$d min Status Gestoppt (Benutzer) From d5a8723577d0307234f433668329cb2cabebb2b9 Mon Sep 17 00:00:00 2001 From: swissalpine Date: Sat, 14 Jul 2018 18:40:55 +0200 Subject: [PATCH 33/41] Und "Vordefinierte Ziele" ... --- app/src/main/res/values-de/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 7b0f71f416..421a12d5d3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -577,7 +577,7 @@ DanaRS Dana Datum - Feste temporäre Ziele + Vordefinierte temporäre Ziele Bald essen - Dauer Bald essen - Ziel Reservoir leer From c0a5e3d1c6a4728a20e23be5ac05aabd6cbe9522 Mon Sep 17 00:00:00 2001 From: swissalpine Date: Sat, 14 Jul 2018 18:43:43 +0200 Subject: [PATCH 34/41] Das endet nie ... --- app/src/main/res/values-de/strings.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 421a12d5d3..b146681fa3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -543,10 +543,10 @@ Erprobe den Closed Loop Modus mit max IOB = 0 für ein paar Tage, ohne zu viele Unterzuckerungen zu haben. Starte den Closed Loop Modus mit Abschaltung bei niedrigen Werten Verwende es ein paar Tage und zumindest eine Nacht ohne Niedrig-Alarme (UZ), bevor du den BZ-Zielbereich senkst. - Stelle den Closed Loop fein ein, erhöhe max IOB über 0 und setze den Zielbereich langsam herunter. + Stelle den Closed Loop fein ein, erhöhe max IOB über 0 und setze den Zielbereich langsam herunter Loope eine Woche erfolgreich am Tag mit regelmäßiger Kohlenhydrat-Eingabe. Passe, falls notwendig, Basal und Faktoren an und aktiviere dann die Autosense-Funktion - Aktiviere zusätzliche Funktionen, wie z. B. den Mahlzeitenassistent + Aktiviere zusätzliche Funktionen wie z. B. den Mahlzeitenassistenten Stark veraltete Daten Stark veraltete Daten seit [min] Dutch From 357b947c1d43bc0f2f93cc1af75806fef15919b8 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 15 Jul 2018 19:45:51 +0200 Subject: [PATCH 35/41] RS: prevent carbs x insulin --- .../androidaps/plugins/PumpDanaRS/DanaRSPlugin.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java index 037abd8c23..36edf1e94f 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRS/DanaRSPlugin.java @@ -57,6 +57,7 @@ import info.nightscout.utils.DateUtil; import info.nightscout.utils.DecimalFormatter; import info.nightscout.utils.Round; import info.nightscout.utils.SP; +import info.nightscout.utils.T; /** * Created by mike on 03.09.2017. @@ -411,6 +412,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte double carbs = detailedBolusInfo.carbs; detailedBolusInfo.carbs = 0; int carbTime = detailedBolusInfo.carbTime; + if (carbTime == 0) carbTime--; // better set 1 min back to prevents clash with insulin detailedBolusInfo.carbTime = 0; DetailedBolusInfoStorage.add(detailedBolusInfo); // will be picked up on reading history @@ -419,7 +421,7 @@ public class DanaRSPlugin extends PluginBase implements PumpInterface, DanaRInte t.isSMB = detailedBolusInfo.isSMB; boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || carbs > 0) - connectionOK = danaRSService.bolus(detailedBolusInfo.insulin, (int) carbs, DateUtil.now() + carbTime * 60 * 1000, t); + connectionOK = danaRSService.bolus(detailedBolusInfo.insulin, (int) carbs, DateUtil.now() + T.mins(carbTime).msecs(), t); PumpEnactResult result = new PumpEnactResult(); result.success = connectionOK && Math.abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep; result.bolusDelivered = t.insulin; From 97d9f7866cefcb8da8bdd591a85ab5d12c0f7b80 Mon Sep 17 00:00:00 2001 From: Milos Kozak Date: Sun, 15 Jul 2018 19:48:33 +0200 Subject: [PATCH 36/41] Rv2: prevent carbs x insulin --- .../androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java index c88d62ecc7..e83f9d9435 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/PumpDanaRv2/DanaRv2Plugin.java @@ -33,6 +33,7 @@ import info.nightscout.androidaps.plugins.Treatments.TreatmentsPlugin; import info.nightscout.utils.DateUtil; import info.nightscout.utils.Round; import info.nightscout.utils.SP; +import info.nightscout.utils.T; /** * Created by mike on 05.08.2016. @@ -195,6 +196,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { double carbs = detailedBolusInfo.carbs; detailedBolusInfo.carbs = 0; int carbTime = detailedBolusInfo.carbTime; + if (carbTime == 0) carbTime--; // better set 1 man back to prevent clash with insulin detailedBolusInfo.carbTime = 0; DetailedBolusInfoStorage.add(detailedBolusInfo); // will be picked up on reading history @@ -203,7 +205,7 @@ public class DanaRv2Plugin extends AbstractDanaRPlugin { t.isSMB = detailedBolusInfo.isSMB; boolean connectionOK = false; if (detailedBolusInfo.insulin > 0 || carbs > 0) - connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, DateUtil.now() + carbTime * 60 * 1000, t); + connectionOK = sExecutionService.bolus(detailedBolusInfo.insulin, (int) carbs, DateUtil.now() + T.mins(carbTime).msecs(), t); PumpEnactResult result = new PumpEnactResult(); result.success = connectionOK && Math.abs(detailedBolusInfo.insulin - t.insulin) < pumpDescription.bolusStep; result.bolusDelivered = t.insulin; From f5ecb9811e2f1a7d0475dbb5c14ee045820fdd11 Mon Sep 17 00:00:00 2001 From: Johannes Mockenhaupt Date: Sun, 1 Jul 2018 16:56:07 +0200 Subject: [PATCH 37/41] fix #1173,newcarbsdialog: activate hypo tt if bg < 72mgdl/4mmol/l. --- .../plugins/Overview/Dialogs/NewCarbsDialog.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java index 0324bed601..0e7390c303 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewCarbsDialog.java @@ -33,7 +33,9 @@ import info.nightscout.androidaps.Constants; import info.nightscout.androidaps.MainApp; import info.nightscout.androidaps.R; import info.nightscout.androidaps.data.Profile; +import info.nightscout.androidaps.db.BgReading; import info.nightscout.androidaps.db.CareportalEvent; +import info.nightscout.androidaps.db.DatabaseHelper; import info.nightscout.androidaps.db.Source; import info.nightscout.androidaps.db.TempTarget; import info.nightscout.androidaps.interfaces.Constraint; @@ -154,6 +156,13 @@ public class NewCarbsDialog extends DialogFragment implements OnClickListener, C notesLayout.setVisibility(SP.getBoolean(R.string.key_show_notes_entry_dialogs, false) ? View.VISIBLE : View.GONE); notesEdit = view.findViewById(R.id.newcarbs_notes); + BgReading bgReading = DatabaseHelper.actualBg(); + if (bgReading != null && bgReading.value < 72) { + startHypoTTCheckbox.setOnCheckedChangeListener(null); + startHypoTTCheckbox.setChecked(true); + startHypoTTCheckbox.setOnClickListener(this); + } + setCancelable(true); getDialog().setCanceledOnTouchOutside(false); return view; From b0e96d93a9c68ec1ef91856858697a811ffe57ea Mon Sep 17 00:00:00 2001 From: swissalpine Date: Mon, 16 Jul 2018 13:36:36 +0200 Subject: [PATCH 38/41] Thanks to Adrian --- app/src/main/res/values-de/strings.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index b146681fa3..7c763e909f 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -296,7 +296,7 @@ Wear Verwende immer das kurze durchschnittliche Delta statt des einfachen Deltas. Das ist sinnvoll, wenn die Daten von einer ungefilterten Quelle Signalrauschen haben. - Tagesinsulin-Limit ist erreicht. + Tagesinsulin-Limit wird bald erreicht. Kalibrierung an xDrip+ gesendet Kind Warteschlange leeren @@ -443,7 +443,7 @@ Verlängerten Bolus abbrechen Basal Wert [IE/h] Profil - Setzen des Basal-Profils fehlgeschlage + Setzen des Basal-Profils fehlgeschlagen Basal-Profil in der Pumpe aktualisiert Profilwechsel Pumpe @@ -732,7 +732,7 @@ Warte auf Zeitsynchronisierung (%d Sek.) Warte auf Code-Bestätigung Benutze nur WLAN Verbindung - Benutze Super Micro Bolus anstelle von temporären Basal, um eine schnellere Wirkung zu erreichen. + Benutze Super Micro Bolus anstelle von temporären Basalraten, um eine schnellere Wirkung zu erreichen. Unsichere Benutzung Zeit Dritte KH-Erhöhung From 7774830ea26023c208061ff1ed72ec4bddc6f6be Mon Sep 17 00:00:00 2001 From: swissalpine Date: Mon, 16 Jul 2018 15:25:48 +0200 Subject: [PATCH 39/41] Bye bye "-" Careportal buttons without "-" --- app/src/main/res/values-de/strings.xml | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 7c763e909f..f3fd2e5986 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -5,7 +5,7 @@ Abbrechen Kohlenhydrate Careportal - Korrektur-Bolus + Korrektur Bolus Messgerät Notiz Profil @@ -27,9 +27,9 @@ OK Basal Bolus - Mahlzeiten-Bolus + Mahlzeiten Bolus Bewegung - Combo-Bolus + Combo Bolus CGM-Sensor Start Absolut Kohlenhydrate @@ -41,11 +41,11 @@ Notiz OpenAPS offline Profilwechsel - Pumpenkatheter-Wechsel + Pumpenkatheter Wechsel Frage - Snack-Bolus - TBR-Ende - TBR-Start + Snack Bolus + TBR Ende + TBR Start Ändere deine Eingabe! Closed Loop APS @@ -130,10 +130,10 @@ KEIN APS AUSGEWÄHLT ODER KEIN ERGEBNIS VORHANDEN Bolus-Beschränkung angewendet Ankündigung - BZ-Test - Kohlenhydrat-Korrektur + BZ Test + Kohlenhydrat Korrektur CGM-Sensor gesetzt - Insulinreservoir-Wechsel + Insulinreservoir Wechsel Dauer KH-Zeit Eingegeben durch @@ -360,7 +360,7 @@ IAGE Batteriealter PUMP - Pumpenbatterie-Wechsel + Pumpenbatterie Wechsel SAGE Insulin Es sind nicht alle Profile geladen! From cd4e7c2d4f5f0ff40c7251564464b40300f80c14 Mon Sep 17 00:00:00 2001 From: Roumen Georgiev Date: Tue, 17 Jul 2018 12:01:21 +0300 Subject: [PATCH 40/41] Save & restore dialog state on screen rotate --- .../Overview/Dialogs/NewInsulinDialog.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java index c4aba7004a..cef7e5fea9 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java @@ -148,6 +148,11 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener setCancelable(true); getDialog().setCanceledOnTouchOutside(false); + if (savedInstanceState != null) { +// log.debug("savedInstanceState in onCreate is:" + savedInstanceState.toString()); + editInsulin.setValue(savedInstanceState.getDouble("editInsulin")); + editTime.setValue(savedInstanceState.getDouble("editTime")); + } return view; } @@ -156,6 +161,18 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener return value > 0 ? "+" + formatted : formatted; } + @Override + public void onSaveInstanceState(Bundle insulinDialogState) { + insulinDialogState.putString("message", "This is my message to be reloaded"); + insulinDialogState.putBoolean("startEatingSoonTTCheckbox", startEatingSoonTTCheckbox.isChecked()); + insulinDialogState.putBoolean("recordOnlyCheckbox", recordOnlyCheckbox.isChecked()); + insulinDialogState.putDouble("editTime", editTime.getValue()); + insulinDialogState.putDouble("editInsulin", editInsulin.getValue()); + insulinDialogState.putString("notesEdit",notesEdit.getText().toString()); + log.debug("Instance state saved:"+insulinDialogState.toString()); + super.onSaveInstanceState(insulinDialogState); + } + @Override public synchronized void onClick(View view) { switch (view.getId()) { From 15b9cb5b3cfe418e36c7e9b66ede78aba944cd56 Mon Sep 17 00:00:00 2001 From: PoweRGbg Date: Tue, 17 Jul 2018 12:19:36 +0300 Subject: [PATCH 41/41] removed dummy message --- .../androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java index cef7e5fea9..abf7c1beb0 100644 --- a/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java +++ b/app/src/main/java/info/nightscout/androidaps/plugins/Overview/Dialogs/NewInsulinDialog.java @@ -163,7 +163,6 @@ public class NewInsulinDialog extends DialogFragment implements OnClickListener @Override public void onSaveInstanceState(Bundle insulinDialogState) { - insulinDialogState.putString("message", "This is my message to be reloaded"); insulinDialogState.putBoolean("startEatingSoonTTCheckbox", startEatingSoonTTCheckbox.isChecked()); insulinDialogState.putBoolean("recordOnlyCheckbox", recordOnlyCheckbox.isChecked()); insulinDialogState.putDouble("editTime", editTime.getValue());