Merge remote-tracking branch 'milosremote/dev' into develop

This commit is contained in:
Timm Korte 2017-08-13 23:57:07 +02:00
commit 882f9d7869
19 changed files with 1004 additions and 108 deletions

View file

@ -16,6 +16,10 @@ public class IobTotal {
public double netbasalinsulin;
public double hightempinsulin;
// oref1
public double microBolusInsulin;
public double microBolusIOB;
public double netInsulin = 0d; // for calculations from temp basals only
public double netRatio = 0d; // net ratio at start of temp basal
@ -30,6 +34,8 @@ public class IobTotal {
this.basaliob = 0d;
this.netbasalinsulin = 0d;
this.hightempinsulin = 0d;
this.microBolusInsulin = 0d;
this.microBolusIOB = 0d;
this.time = time;
}
@ -42,6 +48,8 @@ public class IobTotal {
hightempinsulin += other.hightempinsulin;
netInsulin += other.netInsulin;
extendedBolusInsulin += other.extendedBolusInsulin;
microBolusInsulin += other.microBolusInsulin;
microBolusIOB += other.microBolusIOB;
return this;
}
@ -53,6 +61,8 @@ public class IobTotal {
result.basaliob = basalIob.basaliob;
result.netbasalinsulin = basalIob.netbasalinsulin;
result.hightempinsulin = basalIob.hightempinsulin;
result.microBolusInsulin = bolusIOB.microBolusInsulin + basalIob.microBolusInsulin;
result.microBolusIOB = bolusIOB.microBolusIOB + basalIob.microBolusIOB;
return result;
}
@ -63,6 +73,8 @@ public class IobTotal {
this.basaliob = Round.roundTo(this.basaliob, 0.001);
this.netbasalinsulin = Round.roundTo(this.netbasalinsulin, 0.001);
this.hightempinsulin = Round.roundTo(this.hightempinsulin, 0.001);
this.microBolusInsulin = Round.roundTo(this.microBolusInsulin, 0.001);
this.microBolusIOB = Round.roundTo(this.microBolusIOB, 0.001);
return this;
}

View file

@ -31,12 +31,12 @@ public interface PumpInterface {
PumpEnactResult deliverTreatment(DetailedBolusInfo detailedBolusInfo);
void stopBolusDelivering();
PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes);
PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force);
PumpEnactResult setTempBasalPercent(Integer percent, Integer durationInMinutes);
PumpEnactResult setExtendedBolus(Double insulin, Integer durationInMinutes);
//some pumps might set a very short temp close to 100% as canecelling a temp can be noisy
//when the cancel request is requested by the user, the pump should always do a real cancel
PumpEnactResult cancelTempBasal(boolean userRequested);
//some pumps might set a very short temp close to 100% as cancelling a temp can be noisy
//when the cancel request is requested by the user (forced), the pump should always do a real cancel
PumpEnactResult cancelTempBasal(boolean force);
PumpEnactResult cancelExtendedBolus();
// Status to be passed to NS

View file

@ -155,7 +155,7 @@ public class NewTempBasalDialog extends DialogFragment implements View.OnClickLi
if (setAsPercent) {
result = pump.setTempBasalPercent(finalBasalPercent, finalDurationInMinutes);
} else {
result = pump.setTempBasalAbsolute(finalBasal, finalDurationInMinutes);
result = pump.setTempBasalAbsolute(finalBasal, finalDurationInMinutes, false);
}
if (!result.success) {
if (context instanceof Activity) {

View file

@ -475,14 +475,18 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
* @return
*/
@Override
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force) {
Double rateAfterConstraints = applyBasalConstraints(absoluteRate);
PumpEnactResult result = activePump.setTempBasalAbsolute(rateAfterConstraints, durationInMinutes);
PumpEnactResult result = activePump.setTempBasalAbsolute(rateAfterConstraints, durationInMinutes, force);
if (Config.logCongigBuilderActions)
log.debug("setTempBasalAbsolute rate: " + rateAfterConstraints + " durationInMinutes: " + durationInMinutes + " success: " + result.success + " enacted: " + result.enacted);
return result;
}
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
return setTempBasalAbsolute(absoluteRate, durationInMinutes, false);
}
/**
* apply constraints, set temp based on percent and expecting result in percent
*
@ -509,8 +513,8 @@ public class ConfigBuilderPlugin implements PluginBase, PumpInterface, Constrain
}
@Override
public PumpEnactResult cancelTempBasal(boolean userRequested) {
PumpEnactResult result = activePump.cancelTempBasal(userRequested);
public PumpEnactResult cancelTempBasal(boolean force) {
PumpEnactResult result = activePump.cancelTempBasal(force);
if (Config.logCongigBuilderActions)
log.debug("cancelTempBasal success: " + result.success + " enacted: " + result.enacted);
return result;

View file

@ -10,6 +10,8 @@ import android.os.Handler;
import android.os.HandlerThread;
import android.support.v7.app.NotificationCompat;
import com.crashlytics.android.answers.Answers;
import com.crashlytics.android.answers.CustomEvent;
import com.squareup.otto.Subscribe;
import org.json.JSONException;
@ -277,6 +279,7 @@ public class LoopPlugin implements PluginBase {
@Override
public void run() {
final PumpEnactResult applyResult = configBuilder.applyAPSRequest(resultAfterConstraints);
Answers.getInstance().logCustom(new CustomEvent("APSRequest"));
if (applyResult.enacted || applyResult.success) {
lastRun.setByPump = applyResult;
lastRun.lastEnact = lastRun.lastAPSRun;

View file

@ -188,6 +188,10 @@ public class NSSettingsStatus {
return result;
}
}
if (settingsO.has("alarmTimeagoWarnMins") && what == "alarmTimeagoWarnMins"){
Double result = settingsO.getDouble(what);
return result;
}
}
} catch (JSONException e) {
e.printStackTrace();
@ -197,6 +201,7 @@ public class NSSettingsStatus {
private String getStringOrNull(String key) {
String ret = null;
if(data == null) return null;
if (data.has(key)) {
try {
ret = data.getString(key);
@ -271,7 +276,6 @@ public class NSSettingsStatus {
, warnBattP: sbx.extendedSettings.warnBattP || 30
, urgentBattP: sbx.extendedSettings.urgentBattP || 20
, enableAlerts: sbx.extendedSettings.enableAlerts || false
*/
public double extendedPumpSettings(String setting) {
@ -301,10 +305,12 @@ public class NSSettingsStatus {
return 0d;
}
@Nullable
public JSONObject extentendedPumpSettings() {
try {
JSONObject extended = getExtendedSettings();
if(extended == null) return null;
if (extended.has("pump")) {
JSONObject pump = extended.getJSONObject("pump");
return pump;
@ -339,5 +345,16 @@ public class NSSettingsStatus {
return "";
}
public boolean openAPSEnabledAlerts() {
try {
JSONObject pump = extentendedPumpSettings();
if (pump != null && pump.has("openaps")) {
return pump.getBoolean("enableAlerts");
}
} catch (JSONException e) {
e.printStackTrace();
}
return false;
}
}

View file

@ -1,3 +1,4 @@
package info.nightscout.androidaps.plugins.Overview;
import java.util.Date;
@ -9,11 +10,16 @@ import info.nightscout.androidaps.plugins.NSClientInternal.data.NSAlarm;
import info.nightscout.androidaps.plugins.NSClientInternal.data.NSSettingsStatus;
import info.nightscout.utils.SP;
// Added by Rumen for debugging
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Created by mike on 03.12.2016.
*/
public class Notification {
private static Logger log = LoggerFactory.getLogger(Notification.class);
public static final int URGENT = 0;
public static final int NORMAL = 1;
public static final int LOW = 2;
@ -93,7 +99,7 @@ public class Notification {
this.id = NSALARM;
this.level = NORMAL;
this.text = nsAlarm.getTile();
if (isAlarmForLow() && SP.getBoolean(R.string.key_nsalarm_low, false) || isAlarmForHigh() && SP.getBoolean(R.string.key_nsalarm_high, false))
if (isAlarmForLow() && SP.getBoolean(R.string.key_nsalarm_low, false) || isAlarmForHigh() && SP.getBoolean(R.string.key_nsalarm_high, false) || isAlarmForStaleData() && SP.getBoolean(R.string.key_nsalarm_staledata,false))
this.soundId = R.raw.alarm;
break;
case 2:
@ -111,9 +117,11 @@ public class Notification {
return true;
if (level == ANNOUNCEMENT)
return true;
if (level == NORMAL && isAlarmForLow() && SP.getBoolean(R.string.key_nsalarm_low, false) || isAlarmForHigh() && SP.getBoolean(R.string.key_nsalarm_high, false))
if (level == NORMAL && isAlarmForLow() && SP.getBoolean(R.string.key_nsalarm_low, false) || isAlarmForHigh() && SP.getBoolean(R.string.key_nsalarm_high, false) || isAlarmForStaleData() && SP.getBoolean(R.string.key_nsalarm_staledata, false))
{
return true;
if (level == URGENT && isAlarmForLow() && SP.getBoolean(R.string.key_nsalarm_urgent_low, false) || isAlarmForHigh() && SP.getBoolean(R.string.key_nsalarm_urgent_high, false))
}
if (level == URGENT && isAlarmForLow() && SP.getBoolean(R.string.key_nsalarm_urgent_low, false) || isAlarmForHigh() && SP.getBoolean(R.string.key_nsalarm_urgent_high, false) || isAlarmForStaleData() && SP.getBoolean(R.string.key_nsalarm_urgent_staledata, false))
return true;
return false;
}
@ -141,4 +149,35 @@ public class Notification {
return true;
return false;
}
static boolean isAlarmForStaleData(){
if(SP.getLong("snoozedTo", 0L) != 0L){
if(System.currentTimeMillis() < SP.getLong("snoozedTo", 0L)) {
//log.debug("Alarm is snoozed for next "+(SP.getLong("snoozedTo", 0L)-System.currentTimeMillis())/1000+" seconds");
return false;
}
}
BgReading bgReading = MainApp.getDbHelper().lastBg();
if (bgReading == null)
return false;
long bgReadingAgo = System.currentTimeMillis() - bgReading.date;
int bgReadingAgoMin = (int) (bgReadingAgo / (1000 * 60));
// Added for testing
//bgReadingAgoMin = 20;
log.debug("bgReadingAgoMin value is:"+bgReadingAgoMin);
Double threshold = NSSettingsStatus.getInstance().getThreshold("alarmTimeagoWarnMins");
boolean openAPSEnabledAlerts = NSSettingsStatus.getInstance().openAPSEnabledAlerts();
log.debug("OpenAPS Alerts enabled: "+openAPSEnabledAlerts);
// if no thresshold from Ns get it loccally
if(threshold == null) threshold = SP.getDouble(R.string.key_nsalarm_staledatavalue,15D);
// No threshold of OpenAPS Alarm so using the one for BG
// Added OpenAPSEnabledAlerts to alarm check
if((bgReadingAgoMin > threshold && SP.getBoolean(R.string.key_nsalarm_staledata, false))||(bgReadingAgoMin > threshold && openAPSEnabledAlerts)){
return true;
}
//snoozing for threshold
SP.putLong("snoozedTo", (long) (bgReading.date+(threshold*1000*60L)));
//log.debug("New bg data is available Alarm is snoozed for next "+threshold*1000*60+" seconds");
return false;
}
}

View file

@ -15,7 +15,8 @@ import info.nightscout.androidaps.MainApp;
import info.nightscout.androidaps.R;
import info.nightscout.androidaps.Services.AlarmSoundService;
import info.nightscout.androidaps.plugins.Wear.WearPlugin;
//Added by Rumen for snooze time
import info.nightscout.utils.SP;
/**
* Created by mike on 03.12.2016.
@ -24,7 +25,7 @@ import info.nightscout.androidaps.plugins.Wear.WearPlugin;
public class NotificationStore {
private static Logger log = LoggerFactory.getLogger(NotificationStore.class);
public List<Notification> store = new ArrayList<Notification>();
public long snoozedUntil = 0L;
public NotificationStore() {
}
@ -86,4 +87,18 @@ public class NotificationStore {
}
}
}
public void snoozeTo(long timeToSnooze){
log.debug("Snoozing alarm until: "+timeToSnooze);
SP.putLong("snoozedTo", timeToSnooze);
}
public void unSnooze(){
if(Notification.isAlarmForStaleData()){
Notification notification = new Notification(Notification.NSALARM, MainApp.sResources.getString(R.string.nsalarm_staledata), Notification.URGENT);
SP.putLong("snoozedTo", System.currentTimeMillis());
add(notification);
log.debug("Snoozed to current time and added back notification!");
}
}
}

View file

@ -126,7 +126,9 @@ import info.nightscout.utils.Profiler;
import info.nightscout.utils.Round;
import info.nightscout.utils.SP;
import info.nightscout.utils.ToastUtils;
//Added By Rumen for staledata alarm
import info.nightscout.androidaps.plugins.Overview.Notification;
import info.nightscout.androidaps.plugins.Overview.events.EventNewNotification;
public class OverviewFragment extends Fragment implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
private static Logger log = LoggerFactory.getLogger(OverviewFragment.class);
@ -502,8 +504,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
sHandler.post(new Runnable() {
@Override
public void run() {
MainApp.getConfigBuilder().cancelTempBasal(true);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 30);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 30, true);
if (!result.success) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
}
@ -517,8 +518,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
sHandler.post(new Runnable() {
@Override
public void run() {
MainApp.getConfigBuilder().cancelTempBasal(true);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 60);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 60, true);
if (!result.success) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
}
@ -532,8 +532,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
sHandler.post(new Runnable() {
@Override
public void run() {
MainApp.getConfigBuilder().cancelTempBasal(true);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 2 * 60);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 2 * 60, true);
if (!result.success) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
}
@ -547,8 +546,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
sHandler.post(new Runnable() {
@Override
public void run() {
MainApp.getConfigBuilder().cancelTempBasal(true);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 3 * 60);
PumpEnactResult result = MainApp.getConfigBuilder().setTempBasalAbsolute(0d, 3 * 60, true);
if (!result.success) {
ToastUtils.showToastInUiThread(MainApp.instance().getApplicationContext(), MainApp.sResources.getString(R.string.tempbasaldeliveryerror));
}
@ -1748,6 +1746,8 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
public void onBindViewHolder(NotificationsViewHolder holder, int position) {
Notification notification = notificationsList.get(position);
holder.dismiss.setTag(notification);
if(notification.text == MainApp.sResources.getString(R.string.nsalarm_staledata))
holder.dismiss.setText("snooze");
holder.text.setText(notification.text);
holder.time.setText(DateUtil.timeString(notification.date));
if (notification.level == Notification.URGENT)
@ -1796,6 +1796,14 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
if (notification.nsAlarm != null) {
BroadcastAckAlarm.handleClearAlarm(notification.nsAlarm, MainApp.instance().getApplicationContext(), 60 * 60 * 1000L);
}
// Adding current time to snooze if we got staleData
log.debug("Notification text is: "+notification.text);
if(notification.text.equals(MainApp.sResources.getString(R.string.nsalarm_staledata))){
NotificationStore nstore = getPlugin().notificationStore;
long msToSnooze = SP.getInt("nsalarm_staledatavalue",15)*60*1000L;
log.debug("snooze nsalarm_staledatavalue in minutes is "+SP.getInt("nsalarm_staledatavalue",15)+"\n in ms is: "+msToSnooze+" currentTimeMillis is: "+System.currentTimeMillis());
nstore.snoozeTo(System.currentTimeMillis()+(SP.getInt("nsalarm_staledatavalue",15)*60*1000L));
}
break;
}
}
@ -1810,6 +1818,7 @@ public class OverviewFragment extends Fragment implements View.OnClickListener,
public void run() {
NotificationStore nstore = getPlugin().notificationStore;
nstore.removeExpired();
nstore.unSnooze();
if (nstore.store.size() > 0) {
RecyclerViewAdapter adapter = new RecyclerViewAdapter(nstore.store);
notificationsView.setAdapter(adapter);

View file

@ -334,7 +334,7 @@ public class DanaRPlugin implements PluginBase, PumpInterface, DanaRInterface, C
// This is called from APS
@Override
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force) {
// Recheck pump status if older than 30 min
if (pump.lastConnection.getTime() + 30 * 60 * 1000L < System.currentTimeMillis()) {
doConnect("setTempBasalAbsolute old data");
@ -400,16 +400,20 @@ public class DanaRPlugin implements PluginBase, PumpInterface, DanaRInterface, C
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: currently running: " + running.toString());
if (running.percentRate == percentRate) {
result.success = true;
result.percent = percentRate;
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
result.enacted = false;
result.duration = ((Double) MainApp.getConfigBuilder().getTempBasalRemainingMinutesFromHistory()).intValue();
result.isPercent = true;
result.isTempCancel = false;
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
return result;
if (force) {
cancelTempBasal(true);
} else {
result.success = true;
result.percent = percentRate;
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
result.enacted = false;
result.duration = ((Double) MainApp.getConfigBuilder().getTempBasalRemainingMinutesFromHistory()).intValue();
result.isPercent = true;
result.isTempCancel = false;
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
return result;
}
}
}
// Convert duration from minutes to hours
@ -572,7 +576,7 @@ public class DanaRPlugin implements PluginBase, PumpInterface, DanaRInterface, C
}
@Override
public PumpEnactResult cancelTempBasal(boolean userRequested) {
public PumpEnactResult cancelTempBasal(boolean force) {
if (MainApp.getConfigBuilder().isInHistoryRealTempBasalInProgress())
return cancelRealTempBasal();
if (MainApp.getConfigBuilder().isInHistoryExtendedBoluslInProgress() && useExtendedBoluses) {

View file

@ -338,7 +338,7 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, DanaRInterf
// This is called from APS
@Override
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force) {
// Recheck pump status if older than 30 min
if (pump.lastConnection.getTime() + 30 * 60 * 1000L < System.currentTimeMillis()) {
doConnect("setTempBasalAbsolute old data");
@ -398,16 +398,20 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, DanaRInterf
if (MainApp.getConfigBuilder().isInHistoryRealTempBasalInProgress()) {
// Correct basal already set ?
if (MainApp.getConfigBuilder().getRealTempBasalFromHistory(System.currentTimeMillis()).percentRate == percentRate) {
result.success = true;
result.percent = percentRate;
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
result.enacted = false;
result.duration = ((Double) MainApp.getConfigBuilder().getTempBasalRemainingMinutesFromHistory()).intValue();
result.isPercent = true;
result.isTempCancel = false;
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
return result;
if (force) {
cancelTempBasal(true);
} else {
result.success = true;
result.percent = percentRate;
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
result.enacted = false;
result.duration = ((Double) MainApp.getConfigBuilder().getTempBasalRemainingMinutesFromHistory()).intValue();
result.isPercent = true;
result.isTempCancel = false;
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
return result;
}
}
}
// Convert duration from minutes to hours
@ -570,7 +574,7 @@ public class DanaRKoreanPlugin implements PluginBase, PumpInterface, DanaRInterf
}
@Override
public PumpEnactResult cancelTempBasal(boolean userRequested) {
public PumpEnactResult cancelTempBasal(boolean force) {
if (MainApp.getConfigBuilder().isInHistoryRealTempBasalInProgress())
return cancelRealTempBasal();
if (MainApp.getConfigBuilder().isInHistoryExtendedBoluslInProgress() && useExtendedBoluses) {

View file

@ -323,7 +323,7 @@ public class DanaRv2Plugin implements PluginBase, PumpInterface, DanaRInterface,
// This is called from APS
@Override
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force) {
// Recheck pump status if older than 30 min
if (pump.lastConnection.getTime() + 30 * 60 * 1000L < System.currentTimeMillis()) {
doConnect("setTempBasalAbsolute old data");
@ -365,17 +365,20 @@ public class DanaRv2Plugin implements PluginBase, PumpInterface, DanaRInterface,
if (MainApp.getConfigBuilder().isTempBasalInProgress()) {
// Correct basal already set ?
if (MainApp.getConfigBuilder().getTempBasalFromHistory(System.currentTimeMillis()).percentRate == percentRate) {
result.success = true;
result.percent = percentRate;
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
result.enacted = false;
result.duration = ((Double) MainApp.getConfigBuilder().getTempBasalRemainingMinutesFromHistory()).intValue();
result.isPercent = true;
result.isTempCancel = false;
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
return result;
} }
if (!force) {
result.success = true;
result.percent = percentRate;
result.absolute = MainApp.getConfigBuilder().getTempBasalAbsoluteRateHistory();
result.enacted = false;
result.duration = ((Double) MainApp.getConfigBuilder().getTempBasalRemainingMinutesFromHistory()).intValue();
result.isPercent = true;
result.isTempCancel = false;
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Correct temp basal already set (doLowTemp || doHighTemp)");
return result;
}
}
}
// Convert duration from minutes to hours
if (Config.logPumpActions)
log.debug("setTempBasalAbsolute: Setting temp basal " + percentRate + "% for " + durationInMinutes + " mins (doLowTemp || doHighTemp)");
@ -510,7 +513,7 @@ public class DanaRv2Plugin implements PluginBase, PumpInterface, DanaRInterface,
}
@Override
public PumpEnactResult cancelTempBasal(boolean userRequested) {
public PumpEnactResult cancelTempBasal(boolean force) {
PumpEnactResult result = new PumpEnactResult();
if (pump.isTempBasalInProgress) {
sExecutionService.tempBasalStop();

View file

@ -166,7 +166,7 @@ public class MDIPlugin implements PluginBase, PumpInterface {
}
@Override
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force) {
PumpEnactResult result = new PumpEnactResult();
result.success = false;
result.comment = MainApp.instance().getString(R.string.pumperror);
@ -196,7 +196,7 @@ public class MDIPlugin implements PluginBase, PumpInterface {
}
@Override
public PumpEnactResult cancelTempBasal(boolean userRequested) {
public PumpEnactResult cancelTempBasal(boolean force) {
PumpEnactResult result = new PumpEnactResult();
result.success = false;
result.comment = MainApp.instance().getString(R.string.pumperror);

View file

@ -258,7 +258,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
}
@Override
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes) {
public PumpEnactResult setTempBasalAbsolute(Double absoluteRate, Integer durationInMinutes, boolean force) {
TreatmentsInterface treatmentsInterface = MainApp.getConfigBuilder();
TemporaryBasal tempBasal = new TemporaryBasal();
tempBasal.date = System.currentTimeMillis();
@ -337,7 +337,7 @@ public class VirtualPumpPlugin implements PluginBase, PumpInterface {
}
@Override
public PumpEnactResult cancelTempBasal(boolean userRequested) {
public PumpEnactResult cancelTempBasal(boolean force) {
TreatmentsInterface treatmentsInterface = MainApp.getConfigBuilder();
PumpEnactResult result = new PumpEnactResult();
result.success = true;

View file

@ -487,7 +487,7 @@ public class SmsCommunicatorPlugin implements PluginBase {
PumpInterface pumpInterface = MainApp.getConfigBuilder();
if (pumpInterface != null) {
danaRPlugin = (DanaRPlugin) MainApp.getSpecificPlugin(DanaRPlugin.class);
PumpEnactResult result = pumpInterface.setTempBasalAbsolute(tempBasalWaitingForConfirmation.tempBasal, 30);
PumpEnactResult result = pumpInterface.setTempBasalAbsolute(tempBasalWaitingForConfirmation.tempBasal, 30, false);
if (result.success) {
reply = String.format(MainApp.sResources.getString(R.string.smscommunicator_tempbasalset), result.absolute, result.duration);
if (danaRPlugin != null)

View file

@ -183,8 +183,13 @@ public class TreatmentsPlugin implements PluginBase, TreatmentsInterface {
Iob tIOB = t.iobCalc(time, dia);
total.iob += tIOB.iobContrib;
total.activity += tIOB.activityContrib;
Iob bIOB = t.iobCalc(time, dia / SP.getDouble("openapsama_bolussnooze_dia_divisor", 2.0));
total.bolussnooze += bIOB.iobContrib;
if (!t.isSMB) {
Iob bIOB = t.iobCalc(time, dia / SP.getDouble("openapsama_bolussnooze_dia_divisor", 2.0));
total.bolussnooze += bIOB.iobContrib;
} else {
total.basaliob += t.insulin;
total.microBolusIOB += tIOB.iobContrib;
}
}
if (!MainApp.getConfigBuilder().isFakingTempsByExtendedBoluses())

View file

@ -459,4 +459,4 @@
</LinearLayout>
</RelativeLayout>
</FrameLayout>
</FrameLayout>

View file

@ -81,7 +81,7 @@
<string name="rate">Rate</string>
<string name="reason">Grund</string>
<string name="safety">Sicherheit:</string>
<string name="send">SEND</string>
<string name="send">SENDE</string>
<string name="treatments_activity_string">Aktivität:</string>
<string name="treatments_carbs_label_string">Kohlehydrate:</string>
<string name="treatments_insulin_label_string">Insulin:</string>
@ -108,7 +108,7 @@
<string name="treatments_wizard_correction_label">Korr</string>
<string name="treatments_newtreatment_carbsamount_label">Kohlehydrat Menge</string>
<string name="treatments_newtreatment_insulinamount_label">Insulin Menge</string>
<string name="treatments">Treatments</string>
<string name="treatments">Behandlungen</string>
<string name="treatmentssafety_maxbolus_title">Max erlaubter Bolus [U]</string>
<string name="treatmentssafety_maxcarbs_title">Max erlaubte Kohlehydrate [g]</string>
<string name="treatmentssafety_title">Tratments Sicherheit</string>
@ -124,27 +124,27 @@
<string name="openloop_newsuggestion">Neue Empfehlung verfügbar</string>
<string name="result">Ergebnis</string>
<string name="openapsma_request_label">Anfrage</string>
<string name="openapsma_run">Run now</string>
<string name="openapsma_run">Ausführen</string>
<string name="openapsma_nopump">Keine Pumpe verfügbar</string>
<string name="openapsma_noprofile">Kein Profil verfügbar</string>
<string name="openapsma_noglucosedata">Keine BZ Daten verfügbar</string>
<string name="openapsma_mealdata_label">Mahlzeiten Daten</string>
<string name="openapsma_lastrun_label">Last run</string>
<string name="openapsma_lastenact_label">Last enacted</string>
<string name="openapsma_lastrun_label">Letzte Ausführung</string>
<string name="openapsma_lastenact_label">Zuletzt abgegeben</string>
<string name="openapsma_disabled">Plugin ist deaktiviert</string>
<string name="openapsma_currenttemp_label">Current temp</string>
<string name="openapsma_currenttemp_label">Aktuelle temp</string>
<string name="objectives_gate_label_string">Gate:</string>
<string name="objectives_objective_label_string">Objective:</string>
<string name="objectives">Zielsetzungen</string>
<string name="noprofileset">KEIN PROFIL GESETZT</string>
<string name="nsclientnotinstalled">NSClient nicht installiert. Record lost!</string>
<string name="nsclientnotinstalled">NSClient ist nicht installiert. Eintrag verloren!</string>
<string name="ns_sync_use_absolute_title">Verwende absolute statt prozentuelle Basalwerte beim Upload zu NightScout</string>
<string name="noprofile">Bisher noch kein Profil von NS geladen</string>
<string name="nochangerequested">No change requested</string>
<string name="nochangerequested">Keine Anpassung benötigt</string>
<string name="noapsselected">NO APS SELECTED OR PROVIDED RESULT</string>
<string name="nav_test_alert">Test Alarm</string>
<string name="avgdelta">Avg. delta</string>
<string name="bolusconstraintapplied">Bolus constraint applied</string>
<string name="bolusconstraintapplied">Bolus Einschränkung angewendet</string>
<string name="careportal_announcement">Ankündigung</string>
<string name="careportal_bgcheck">BZ Check</string>
<string name="careportal_carbscorrection">Kohlehydrat Korrektur</string>
@ -169,11 +169,11 @@
<string name="carbsconstraintapplied">Carbs constraint applied</string>
<string name="nav_resetdb">Reset Datenbanken</string>
<string name="objectives_minimalduration">Minimale Dauer</string>
<string name="nav_refreshtreatments">Erneure treatments von NS</string>
<string name="nav_refreshtreatments">Erneure Behandlungen von NS</string>
<string name="nav_exit">Exit</string>
<string name="missing">Fehlend</string>
<string name="enabled">Enabled</string>
<string name="entertreatmentquestion">Eingabe neues treatment</string>
<string name="enabled">aktiviert</string>
<string name="entertreatmentquestion">Eingabe neuer Behandlung:</string>
<string name="export_to">Einstellungen exportieren nach</string>
<string name="filenotfound">Datei nicht gefunden</string>
<string name="exported">Einstellungen exportiert</string>
@ -181,8 +181,8 @@
<string name="setting_imported">Einstellungen importiert</string>
<string name="nav_export">Einstellungen exportieren</string>
<string name="nav_import">Einstellungen importieren</string>
<string name="de_lang">Deutsch</string>
<string name="openapsma_maxbasal_summary">Max U/hr die man für eine Temp Basal setzen kann</string>
<string name="de_lang">German</string>
<string name="openapsma_maxbasal_summary">Dieser Wert wird max basal in OpenAPS genannt</string>
<string name="openapsma_maxiob_summary">Maximale Menge von nicht bolus IOB die OpenAPs abgeben kann</string>
<string name="bg_lang">Bulgarian</string>
<string name="nightscout">Nightscout</string>
@ -229,12 +229,12 @@
<string name="syncprofiletopump_title">Profil zur Pumpe synchronisieren</string>
<string name="waitingforpumpresult">auf Pumpenergebnis warten</string>
<string name="nobtadapter">Kein Bluetoothadapter gefunden</string>
<string name="smscommunicator_remotebolusnotallowed">Remote Bolus nicht erlaubt</string>
<string name="smscommunicator_remotebolusnotallowed">Remote Bolus ist nicht erlaubt</string>
<string formatted="false" name="smscommunicator_bolusreplywithcode">Um Bolus %.2fU bitte mit %s antworten</string>
<string name="ko_lang">Korean</string>
<string name="youareonallowedlimit">Limit erreicht</string>
<string name="wrongpumppassword">Falsches Pumpen-Passwort!</string>
<string name="waitingforpumpclicktorefresh">Warte auf Pumpe. Click to refresh.</string>
<string name="waitingforpumpclicktorefresh">Warte auf Pumpe. Klicke zum aktualisieren.</string>
<string name="correctionbous">Korr</string>
<string name="bolusdelivering">Abgabe %.2fU</string>
<string name="bolusdelivered">%.2fU Bolus erfolgreich abgegeben</string>
@ -253,7 +253,7 @@
<string name="danar_history_syspend">Unterbrechungen</string>
<string name="danar_password_title">Pumpen-Passwort</string>
<string name="mealbolus">Essensbolus</string>
<string name="noprofileselected">Kein Profil gewählt</string>
<string name="noprofileselected">Kein Profil ausgewählt</string>
<string name="overview_bolusprogress_stop">Stop</string>
<string name="overview_bolusprogress_stoped">Gestoppt</string>
<string name="overview_bolusprogress_stoppressed">STOP GEDRÜCKT</string>
@ -275,7 +275,7 @@
<string name="othersettings_title">Andere</string>
<string name="occlusion">Verstopfung</string>
<string name="overview_bolusprogress_delivered">Abgegeben</string>
<string name="overview_bolusprogress_goingtodeliver">%.2fU werden abgegeben werden</string>
<string name="overview_bolusprogress_goingtodeliver">Es werden %.2fU abgegeben</string>
<string name="primefill">Vorfüllen / Füllen</string>
<string name="uploading">Hochladen</string>
<string name="es_lang">Spanish</string>
@ -293,7 +293,7 @@
<string name="units">Einheiten:</string>
<string name="wrongpumpdriverselected">Falscher Pumpentreiber ausgewählt</string>
<string name="danar_refill">Befüllen</string>
<string name="danar_disableeasymode">EasyUI mode in Pumpe deaktivieren</string>
<string name="danar_disableeasymode">EasyUI Modus in der Pumpe deaktivieren</string>
<string name="danar_basalhour">Basal-Stunde</string>
<string name="button1">Knopf 1</string>
<string name="button2">Knopf 2</string>
@ -301,20 +301,20 @@
<string name="configbuilder">Config Builder</string>
<string name="minago">vor %d min</string>
<string name="actions_shortname">"AKT"</string>
<string name="wear_shortname">"WEAR"</string>
<string name="wear_shortname">WEAR</string>
<string name="virtualpump_shortname">VP</string>
<string name="treatments_shortname">"TREAT"</string>
<string name="temptargetrange_shortname">"TT"</string>
<string name="tempbasals_shortname">"TB"</string>
<string name="smscommunicator_shortname">"SMS"</string>
<string name="simpleprofile_shortname">"SP"</string>
<string name="profileviewer_shortname">"PROF"</string>
<string name="overview_shortname">"HOME"</string>
<string name="objectives_shortname">"OBJ"</string>
<string name="oaps_shortname">"OAPS"</string>
<string name="loop_shortname">"LOOP"</string>
<string name="localprofile_shortname">"LP"</string>
<string name="danarpump_shortname">"DANA"</string>
<string name="treatments_shortname">TREAT</string>
<string name="temptargetrange_shortname">TT</string>
<string name="tempbasals_shortname">TB</string>
<string name="smscommunicator_shortname">SMS</string>
<string name="simpleprofile_shortname">SP</string>
<string name="profileviewer_shortname">PROF</string>
<string name="overview_shortname">HOME</string>
<string name="objectives_shortname">OBJ</string>
<string name="oaps_shortname">OAPS</string>
<string name="loop_shortname">LOOP</string>
<string name="localprofile_shortname">LP</string>
<string name="danarpump_shortname">DANA</string>
<string name="configbuilder_shortname">"CONF"</string>
<string name="circadian_percentage_profile_shortname">"CPP"</string>
<string name="careportal_shortname">"CP"</string>
@ -339,7 +339,7 @@
<string name="danar_stats_cumulative_tdd">Kumulative TDD</string>
<string name="danar_stats_date">Datum</string>
<string name="danar_stats_expweight">Exponentiell Gewichtete TDD</string>
<string name="danar_stats_olddata_Message">Veraltete Daten \"Reload\"</string>
<string name="danar_stats_olddata_Message">Veraltete Daten, bitte klicke auf \"Reload\"</string>
<string name="xdripstatus_shortname">xds</string>
<string name="xdripstatus">xDrip Statuszeile (Uhr)</string>
<string name="xdripstatus_settings">xDrip Status (Uhr)</string>
@ -358,7 +358,7 @@
<string name="absorptionsettings_title">Resorptions-Einstellungen</string>
<string name="activity">Aktivität</string>
<string name="adult">Erwachsener</string>
<string name="advancedsettings_title">Erweiter</string>
<string name="advancedsettings_title">Erweiterte Einstelungen</string>
<string name="app_name">AndroidAPS</string>
<string name="basal_short">BAS</string>
<string name="basal_step">Basal-Schritt</string>
@ -368,11 +368,11 @@
<string name="bolus_step">Bolus-Schritt</string>
<string name="bolusrequested">Werde %.2fE abgeben</string>
<string name="careportal_activity_label">AKTIVITÄT &amp; FEEDBACK</string>
<string name="careportal_canulaage_label">Katheter-Liegedauer</string>
<string name="careportal_canulaage_label">Katheteralter</string>
<string name="careportal_canulaage_label_short">CAGE</string>
<string name="careportal_carbsandbolus_label">CARBS &amp; BOLUS</string>
<string name="careportal_cgm_label">CGM &amp; OPENAPS</string>
<string name="careportal_insulinage_label"></string>
<string name="careportal_insulinage_label">Insulinalter</string>
<string name="careportal_newnstreatment_duration_min_label">Dauer [min]</string>
<string name="paused">pausiert</string>
<string name="patientage">Patientenalter</string>
@ -383,7 +383,7 @@
<string name="tempbasaldeliveryerror">Tempbasal Abgabe-Fehler</string>
<string name="temptarget">TempZiel</string>
<string name="timeshift_hint">Zeit in Stunden um die das profil zylindrisch verschoben wird.</string>
<string name="treatments_wizard_bgtrend_label"></string>
<string name="treatments_wizard_bgtrend_label">15Min Trend</string>
<string name="treatments_wizard_cob_label">COB</string>
<string name="unsupportednsversion">Nicht-unterstütze Nightscout-Version</string>
<string name="uploader">Uploader</string>
@ -391,7 +391,204 @@
<string name="virtualpump_extendedbolus_label_short">EXT</string>
<string name="virtualpump_firmware_label">Firmware</string>
<string name="virtualpump_settings">Virtuelle Pumpe Einstellungen</string>
<string name="virtualpump_uploadstatus_title">Status zu NS hochladen</string>
<string name="virtualpump_uploadstatus_title">Status zu Nightscout hochladen</string>
<string name="superbolus">Superbolus</string>
<string name="suspendloopfor10h"></string>
<string name="suspendloopfor10h">Pausiere Loop für 10h</string>
<string name="array_of_elements">Insgesamt %d Einträge. Aktueller Wert:</string>
<string name="careportal_insulinage_label_short">IAGE</string>
<string name="careportal_pbage_label">Batteriealter</string>
<string name="careportal_pump_label">PUMP</string>
<string name="careportal_pumpbatterychange">Pumpen Batterie Wechsel</string>
<string name="careportal_sensorage_label_short">SAGE</string>
<string name="configbuilder_insulin">Insulin</string>
<string name="cpp_notloadedplugins">Es sind nicht alle Profile geladen!</string>
<string name="cpp_sync_setting_missing">Aktivierung wird benötigt um Werte an die Pumpe zu senden!</string>
<string name="cpp_valuesnotstored">Werte nicht gespeichert!</string>
<string name="danar_enableextendedbolus">Aktiviere Extended Bolus in der Pumpe</string>
<string name="danar_stats">DanaR Stats</string>
<string name="danar_stats_amount_days"># Tage</string>
<string name="danar_stats_basalrate">Basal</string>
<string name="danar_stats_bolus">Bolus</string>
<string name="danar_stats_weight">Gewichtung</string>
<string name="danar_visualizeextendedaspercentage_title">Zeige Extended Bolus als % an</string>
<string name="danarkoreanpump">DanaR Korean</string>
<string name="danarv2pump">DanaRv2</string>
<string name="deliver_now">Abgeben</string>
<string name="dev">DEV</string>
<string name="device">Gerät</string>
<string name="dia">DIA:</string>
<string name="disableloop">Deaktiviere Loop</string>
<string name="disconnecting">Trenne</string>
<string name="disconnectpumpfor10h">Trenne Pumpe für 10h</string>
<string name="disconnectpumpfor1h">Trenne Pumpe für 1h</string>
<string name="disconnectpumpfor2h">Trenne Pumpe für 2h</string>
<string name="disconnectpumpfor30m">Trenne Pumpe für 30Min</string>
<string name="disconnectpumpfor3h">Trenne Pumpe für 3h</string>
<string name="do_not_track_profile_switch">Ignoriere Profilwechsel</string>
<string name="do_not_track_profile_switch_summary">Alle Profilwechsel werden ignorierd und nur das aktive Profil wird verwendet</string>
<string name="dont_show_again">Nicht erneut anzeigen</string>
<string name="eatingsoon">Bald essen</string>
<string name="edit_base_basal">Bearbeite Basis-Basal:</string>
<string name="el_lang">Greek</string>
<string name="enableloop">aktiviere Loop</string>
<string name="enablesuperbolus">Aktiviere SuperBolus im Wizard</string>
<string name="executing">Führe aus</string>
<string name="extendedbolus">ExtendedBolus</string>
<string name="fastactinginsulin">Fast Acting Insulin</string>
<string name="fastactinginsulincomment">Novorapid, Novolog, Humalog</string>
<string name="fastactinginsulinprolonged">Fast Acting Insulin Prolonged</string>
<string name="gettingpumpstatus">Hole Pumpenstatus</string>
<string name="hours">Stunden</string>
<string name="initializing">Initialisierung...</string>
<string name="invalidprofile">Ungültiges oder defektes Profil!!!</string>
<string name="iob">IOB</string>
<string name="localprofile">Lokales Profil</string>
<string name="lock_screen">Sperrbildschirm</string>
<string name="loopmenu">Loop Menü</string>
<string name="loopsuperbolusfor">Superbolus (%d m)</string>
<string name="loopsuspended">Loop pausiert</string>
<string name="loopsuspendedfor">pausiert (%d m)</string>
<string name="mdtp_cancel">Abbrechen</string>
<string name="mdtp_ok">OK</string>
<string name="mgdl">mg/dl</string>
<string name="mmol">mmol/l</string>
<string name="nav_about">Über</string>
<string name="nav_show_logcat">Logs anzeigen</string>
<string name="nosuccess">nicht erfolgreich - Bitte Telefon prüfen</string>
<string name="notavailable">Nicht verfügbar</string>
<string name="nowritepermission">NSCLIENT hat keine Schreibrechte. Falscher API-Key?</string>
<string name="ns_alarmoptions">Alarm Optionen</string>
<string name="ns_localbroadcasts">Aktiviere Broadcast für andere Apps (z.B. xDrip).</string>
<string name="ns_localbroadcasts_title">Aktiviere lokalen Broadcast.</string>
<string name="ns_logappstartedevent">Logge App-Start in NS</string>
<string name="ns_noupload">Kein Upload zu NS</string>
<string name="ns_noupload_summary">Alle an NS gesendete Daten verworfen. AAPS ist verbunden, aber keine Änderungen in NS ist fertig</string>
<string name="nsalarm_high">Hoch</string>
<string name="nsalarm_low">Niedrig</string>
<string name="nsalarm_summary">Gesetzt zu %f</string>
<string name="nsalarm_urgenthigh">Sehr hoch</string>
<string name="nsalarm_urgentlow">Sehr niedrig</string>
<string name="nsclientinternal_autoscroll">Autoscroll</string>
<string name="nsclientinternal_devicename_dialogtitle">Gerätenamen eingeben</string>
<string name="nsclientinternal_devicename_title">Gerätename</string>
<string name="nsclientinternal_secret_dialogmessage">NS API-Key eingeben (min 12 Zeichen)</string>
<string name="nsclientinternal_secret_dialogtitle">NightScout API-Key</string>
<string name="nsclientinternal_secret_title">NightScout API-Key</string>
<string name="nsclientinternal_url">URL:</string>
<string name="nsclientinternal_url_dialogmessage">Nightscout URL eingeben</string>
<string name="nsclientinternal_url_title">Nightscout URL</string>
<string name="objectives_0_gate">Verifiziere, dass der BZ und Pumpen Insulin Daten in Nightscout erfolgreich hoch geladen wurden</string>
<string name="objectives_0_objective">Konfiguriere Anzeige und das Monitoring und analysiere Basal und die Faktoren</string>
<string name="objectives_1_gate">Lasse den OpenLoop Modus für ein paar Tage laufen und setzte manuell temp Basal-Raten</string>
<string name="objectives_1_objective">Starte ein OpenLoop</string>
<string name="old_data">VERALTETE DATEN</string>
<string name="ongoingnotificaction">Laufende Benachrichtigungen</string>
<string name="open_settings_on_wear">Öffne Einstellungen auf der Uhr</string>
<string name="openaps">OpenAPS</string>
<string name="openaps_short">OAPS</string>
<string name="openapsama">OpenAPS AMA</string>
<string name="openapsma_scriptdebugdata_label">Skript Debug</string>
<string name="openapsma_valueoutofrange">Wert %s ist außerhalb des festen Limits.</string>
<string name="overview_calibration">Kalibrierung</string>
<string name="overview_calibration_bg_label">Kalibrierung</string>
<string name="overview_editquickwizard_buttontext">Button Text:</string>
<string name="overview_extendedbolus_cancel_button">Extended Bolus abbrechen</string>
<string name="overview_newtempbasal_basalabsolute">Basal Wert [U/h]</string>
<string name="profile">Profil</string>
<string name="profile_set_failed">Setzten vom Basal Profil fehlgeschlagen</string>
<string name="profile_set_ok">Basal Profil in der Pumpe erfolgreich aktualisiert</string>
<string name="profileswitch">Profilwechsel</string>
<string name="pump">Pumpe</string>
<string name="pumpNotInitialized">Pumpe nicht initialisiert!</string>
<string name="pumpNotInitializedProfileNotSet">Pumpe ist nicht initialisiert, Profil nicht gesetzt!</string>
<string name="pumpshutdown">Pumpe stoppen</string>
<string name="pumpsuspended">Pumpe pausiert</string>
<string name="pumpsuspendedclicktorefresh">Pumpe pausiert. Klicken zum aktualisieren des Status</string>
<string name="queue">Queue:</string>
<string name="quickwizard">QuickWizard</string>
<string name="refresheventsfromnightscout">Aktualisiere Einträge von Nightscout</string>
<string name="removerecord">Lösche Eintrag:</string>
<string name="resend_all_data">Alle Daten erneut senden</string>
<string name="reset_db_confirm">Möchtest du die Datenbank wirklich zurücksetzten?</string>
<string name="restart">Restart</string>
<string name="restartingapp">Beende Applikation um neue Einstellungen zu laden.</string>
<string name="resume">Fortsetzten</string>
<string name="ru_lang">Russian</string>
<string name="send_calibration">Kalibrierung %.1f an xDrip senden?</string>
<string name="settings_password">Passwort für die Einstellungen</string>
<string name="settingtempbasal">Setzte temp Basal</string>
<string name="short_tabtitles">Kurze Tab-Überschriften</string>
<string name="show_queue">Zeige Warteschlange</string>
<string name="sms_actualbg">BZ</string>
<string name="sms_basal">Basal:</string>
<string name="sms_bolus">Bolus:</string>
<string name="sms_delta">Delta:</string>
<string name="sms_iob">IOB:</string>
<string name="sms_lastbg">Letzter BZ:</string>
<string name="status">Status:</string>
<string name="stoppingextendedbolus">Stoppe Extended Bolus</string>
<string name="stoppingtempbasal">Stoppe temp Basal</string>
<string name="suspendloopfor1h">Pausiere Loop für 1h</string>
<string name="suspendloopfor2h">Pausiere Loop für 2h</string>
<string name="suspendloopfor3h">Pausiere Loop für 3h</string>
<string name="sv_lang">Schwedish</string>
<string name="updatingbasalrates">Aktualisere Basal Raten</string>
<string name="wear_overviewnotifications">Übersicht Benachrichtigungen</string>
<string name="careportal_sensorage_label">Sensoralter</string>
<string name="danar_switchtouhmode">Wechsle Modus von U/d zu U/h in der Pumpe</string>
<string name="danar_totaluploaded">Insgesamt %d Einträge erfolgreich hochgeladen</string>
<string name="danarprofile_dia_summary">Dauer der Insulinwirkung</string>
<string name="edit_base_ic">Bearbeite Basis-IC:</string>
<string name="edit_base_isf">Bearbeite Basis-ISF:</string>
<string name="icmissing">IC Angabe fehlt im Profil. Verwende default Wert.</string>
<string name="insulin_shortname">INS</string>
<string name="isfmissing">ISF fehlt im Profil. Verwende default Wert.</string>
<string name="lock_screen_short">Sperr</string>
<string name="needwhitelisting">%s benötigt Batterie-Optimierungs-Whitelisting um korrekt arbeiten zu können</string>
<string name="nsalarm_staledata">Veraltete Daten</string>
<string name="nsalarm_staledatavalue_label">Veraltete Daten seit [Min]</string>
<string name="nsclientinternal_devicename_dialogmessage">Es wird verwendet für das enteredBy Feld</string>
<string name="openapsma_autosensdata_label">Autosens Daten</string>
<string name="openapsma_maxbasal_title">Max U/h die an Temp Basal gesetzt werden kann</string>
<string name="openapsma_maxiob_title">Maximum Basal IOB, was OpenAPS abgeben darf [U]</string>
<string name="percentagefactor_hint">Prozentialer Faktor um den das Basis Profil multipiziert wird.</string>
<string name="pleaseallowpermission">Bitte Rechte gewähren</string>
<string name="prefs_range_summary">Hoch und niedrig Werte für die Übersicht- und die Smartwatch-Anzeige</string>
<string name="prefs_range_title">Zielbereich für die Grafikanzeige</string>
<string name="sensitivity_warning">Bei aktivierter Autosense-Funktion, bitte stell sicher, das du alle gegessenen Kohlenhydrate eingibts. Ansonsten können die Kohlenhydrate-Abweichung als falsche Resistens/Empfindlichkeit identifziert werden!!!</string>
<string name="sensitivityaaps">Sensitivität AAPS</string>
<string name="sensitivityoref0">Sensitivität Oref0</string>
<string name="sensitivityweightedaverage">Durschnittliche Sensitivität</string>
<string name="settingextendedbolus">Einstellung Extended Bolus</string>
<string name="sms_minago">vor %dMin</string>
<string formatted="false" name="smscommunicator_basalstopreplywithcode">"Um das temp Basal zu stoppen, antworte mit dem Code %s"</string>
<string formatted="false" name="smscommunicator_bolusdelivered">Bolus %.2fU erfolgreich abgegeben</string>
<string name="smscommunicator_calibrationfailed">xDrip hat die Kalbrierung nicht erhalten</string>
<string formatted="false" name="smscommunicator_calibrationreplywithcode">Um die Kalibrierung %.2f zu senden, antworte mit dem Code %s</string>
<string name="smscommunicator_calibrationsent">Kalibrierung gesendet. Das empfangen von Kalbrierungen muss in xDrip aktiviert sein.</string>
<string name="smscommunicator_invalidphonennumber">Falsche/Ungültige SMS Telefonnummer</string>
<string name="smscommunicator_loophasbeendisabled">Loop wurde deaktiviert</string>
<string name="smscommunicator_loophasbeenenabled">Lopp wurde aktiviert</string>
<string name="smscommunicator_loopisdisabled">Loop ist deaktiviert</string>
<string name="smscommunicator_loopisenabled">Loop ist aktiviert</string>
<string name="smscommunicator_loopresumed">Loop wurde fortgesetzt</string>
<string name="smscommunicator_loopsuspended">Loop pausiert</string>
<string name="smscommunicator_missingsmspermission">Es fehlt das SMS-Recht</string>
<string name="smscommunicator_remotebasalnotallowed">Basal Einstellungen per Remote ist nicht erlaubt</string>
<string name="smscommunicator_remotecalibrationnotallowed">Kalibrierung per Remote ist nicht erlaubt</string>
<string name="smscommunicator_remotecommandnotallowed">Externe Befehle sind nicht erlaubt</string>
<string name="smscommunicator_remotecommandsallowed">Erlaube externe Befehle per SMS</string>
<string formatted="false" name="smscommunicator_suspendreplywithcode">Um den Loop zu pausieren für %d Minuten, antworte mit dem Code %s</string>
<string name="smscommunicator_tempbasalcanceled">Temp Basal abgebrochen</string>
<string name="smscommunicator_tempbasalcancelfailed">Abbrechen des temp Basal ist fehlgeschlagen</string>
<string name="smscommunicator_tempbasalfailed">Temp Basal starten ist fehlgeschlagen</string>
<string formatted="false" name="smscommunicator_tempbasalset">Temp Basal %.2fU/h für %d min wurde erfolgreich gestartet</string>
<string name="smscommunicator_unknowncommand">Unbekannter Befehl oder falsche Antwort</string>
<string name="smscommunicator_wrongduration">Falsche Dauer</string>
<string name="unlock_settings">Einstellungen freischalten</string>
<string formatted="false" name="openapsma_valuelimitedto">%.2f limitiert auf %.2f</string>
<string name="danar_sbolus">S Bolus</string>
<string formatted="false" name="danar_model">Model: %02X Protokoll: %02X Code: %02X</string>
<string name="configbuilder_sensitivity">Empfindlichkeitserkennung</string>
<string name="cob">COB</string>
</resources>

View file

@ -0,0 +1,584 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="cancel">Avbryt</string>
<string name="Glimp">Glimp</string>
<string name="MM640g">MM640g</string>
<string name="absolute">Absolut</string>
<string name="actions">Åtgärd</string>
<string name="actions_shortname">ACT</string>
<string name="activity">Aktivitet</string>
<string name="adult">Vuxen</string>
<string name="advancedsettings_title">Avancerade inställningar</string>
<string name="alert_dialog_storage_permission_text">Starta om telefonen eller AndroidAPS from systeminställningar</string>
<string name="always_use_shortavg">Använd alltid kort medel delta istället för enkel delta</string>
<string name="always_use_shortavg_summary">Användbart när ofiltrerade källor som xDrip ger brusvärden</string>
<string name="androidaps_start">AndroidAPS startar</string>
<string name="approachingdailylimit">Snart daglig max av insulin</string>
<string name="apsmode_title">APS Mode</string>
<string name="avgdelta">Medel delta</string>
<string name="basal">Basal</string>
<string name="basal_rate">Basal E/tim</string>
<string name="basal_step">Basal steg</string>
<string name="basalmissing">Basal saknas i profil. Använder grundbasal</string>
<string name="basalshortlabel">BR</string>
<string name="basalvaluebelowminimum">Basal understiger min.nivå. Ingen profil satt</string>
<string name="base_profile_label">Basalprofil</string>
<string name="batterydischarged">Pump Batteri Urladdat</string>
<string name="bolus">Bolus</string>
<string name="bolus_step">Bolus Steg</string>
<string name="bolusconstraintapplied">Bolus spärr aktiverad</string>
<string name="bolusdelivered" formatted="false">Bolus %.2fU korrekt tillförd</string>
<string name="bolusdelivering" formatted="false">Ger %.2fU</string>
<string name="bolusrequested" formatted="false">Kommer att ge %.2fU</string>
<string name="button1">Knapp 1</string>
<string name="button2">Knapp 2</string>
<string name="button3">Knapp 3</string>
<string name="calibrationsent">Kalibrering skickad till xDrip</string>
<string name="canceltemp">Avbryt Temp Basal</string>
<string name="carbs">Kolhydrater</string>
<string name="carbsconstraintapplied">Kohydrat spärr aktiverad</string>
<string name="careportal">Careportal</string>
<string name="careportal_announcement">Meddelande</string>
<string name="careportal_bgcheck">BG Kontroll</string>
<string name="careportal_canulaage_label">Kanyl ålder</string>
<string name="careportal_carbscorrection">Kolhydrat korrektion</string>
<string name="careportal_cgmsensorinsert">CGM Sensor Insättning</string>
<string name="careportal_cgmsensorstart">CGM Sensor Start</string>
<string name="careportal_combobolus">Combo Bolus</string>
<string name="careportal_correctionbolus">Korrektion Bolus</string>
<string name="careportal_exercise">Träning</string>
<string name="careportal_insulinage_label">Insulin Ålder</string>
<string name="careportal_insulincartridgechange">Insulin Reservoir Byte</string>
<string name="careportal_mealbolus">Måltids Bolus</string>
<string name="careportal_newnstreatment_absolute_label">Absolut</string>
<string name="careportal_newnstreatment_carbs_label">Kolhydrater</string>
<string name="careportal_newnstreatment_carbtime_label">KH tid</string>
<string name="careportal_newnstreatment_duration_label">Duration</string>
<string name="careportal_newnstreatment_enteredby_title">Infört av</string>
<string name="careportal_newnstreatment_eventtime_label">Tid för händelse</string>
<string name="careportal_newnstreatment_eventtype">Händelse typ</string>
<string name="careportal_newnstreatment_glucosetype">Glukos sort</string>
<string name="careportal_newnstreatment_insulin_label">Insulin</string>
<string name="careportal_newnstreatment_meter">Mätare</string>
<string name="careportal_newnstreatment_notes_label">Notering</string>
<string name="careportal_newnstreatment_other">Annat</string>
<string name="careportal_newnstreatment_percent_label">Procent</string>
<string name="careportal_newnstreatment_profile_label">Profil</string>
<string name="careportal_newnstreatment_sensor">Sensor</string>
<string name="careportal_newnstreatment_split_label">Delad</string>
<string name="careportal_note">Notering</string>
<string name="careportal_openapsoffline">OpenAPS Offline</string>
<string name="careportal_pbage_label">Pump Batteri Ålder</string>
<string name="careportal_profileswitch">Profil Byte</string>
<string name="careportal_pumpsitechange">Pump Kanyl Byte</string>
<string name="careportal_question">Fråga</string>
<string name="careportal_shortname">CP</string>
<string name="careportal_snackbolus">Bolus för Mellis</string>
<string name="careportal_tempbasalend">Temp Basal Slut</string>
<string name="careportal_tempbasalstart">Temp Basal Start</string>
<string name="careportal_temporarytarget">Temp Mål BG</string>
<string name="careportal_temporarytargetcancel">Temp Mål BG Slut</string>
<string name="changeyourinput">Ändra inmatning</string>
<string name="child">Barn</string>
<string name="circadian_percentage_profile">Cirkadisk Profil Procent</string>
<string name="circadian_percentage_profile_shortname">CPP</string>
<string name="clear_queue">Ta bort kö</string>
<string name="clearlog">Rensa inmatningar</string>
<string name="closedloop">Closed Loop</string>
<string name="cob">COB</string>
<string name="comment">Kommentar</string>
<string name="configbuilder">Konfigurationsverktyg</string>
<string name="configbuilder_aps">APS</string>
<string name="configbuilder_bgsource">BG Källa</string>
<string name="configbuilder_constraints">Begränsningar</string>
<string name="configbuilder_general">Generell</string>
<string name="configbuilder_insulin">Insulin</string>
<string name="configbuilder_loop">Loop</string>
<string name="configbuilder_nightscoutversion_label">Nightscout version:</string>
<string name="configbuilder_profile">Profil</string>
<string name="configbuilder_pump">Pump</string>
<string name="configbuilder_shortname">KONF</string>
<string name="configbuilder_tempbasals">Temp Basaler</string>
<string name="configbuilder_treatments">Åtgärd</string>
<string name="confirmation">Bekräftelse</string>
<string name="connected">Sammankopplad</string>
<string name="connecting">Sammankopplar</string>
<string name="connectionerror">Sammankoppling till pump förlorad</string>
<string name="constraintapllied">Begränsning aktiverad</string>
<string name="constraints_violation">Begränsning Överträdelse</string>
<string name="copied_to_clipboard">Kopierad till Clipboard</string>
<string name="copy_to_clipboard">Kopiera till Clipboard</string>
<string name="correctionbous">Korr</string>
<string name="cs_lang">CZ</string>
<string name="danar_alarm">Alarm</string>
<string name="danar_basalhour">basal tim</string>
<string name="danar_bluetooth_status">Bluetooth Status</string>
<string name="danar_bt_name_title">DanaR Bluetooth Pump</string>
<string name="danar_carbohydrate">kolhydrat</string>
<string name="danar_dailyunits">Enheter/Dag</string>
<string name="danar_disableeasymode">Avaktivera EasyUI mode in pump</string>
<string name="danar_enableextendedbolus">Aktivera förlängd bolus i pump</string>
<string name="danar_error">Fel</string>
<string name="danar_glucose">Glukos</string>
<string name="danar_history">Historia</string>
<string name="danar_history_alarm">Larm</string>
<string name="danar_history_basalhours">Basal Timmar</string>
<string name="danar_history_bolus">Bolusar</string>
<string name="danar_history_carbohydrates">Kolhydrater</string>
<string name="danar_history_connectingfor" formatted="false">Sammankopplar för %d s</string>
<string name="danar_history_dailyinsulin">Daglig insulinmängd</string>
<string name="danar_history_errors">Fel</string>
<string name="danar_history_glucose">Glukos</string>
<string name="danar_history_refill">Påfyllnad</string>
<string name="danar_history_syspend">Stoppa</string>
<string name="danar_historyreload">Ladda om</string>
<string name="danar_invalidinput">Fel på inlagd data</string>
<string name="danar_iob_label">Pump IOB</string>
<string name="danar_lastbolus">Sista bolus</string>
<string name="danar_password_title">Lösenord Pump</string>
<string name="danar_pump_settings">DanaR pump inställningar</string>
<string name="danar_refill">Påfyllnad</string>
<string name="danar_stats_cumulative_tdd">Kumulativ TDD</string>
<string name="danar_stats_date">Datum</string>
<string name="danar_stats_expweight">Exponentiellt viktad TDD</string>
<string name="danar_stats_olddata_Message">Gammal Data Vg tryck \"Ladda om\"</string>
<string name="danar_stats_ratio">Ratio</string>
<string name="danar_useextended_title">Använd förlängd bolus med >200%</string>
<string name="danar_valuenotsetproperly">Värde ej korrekt angivet</string>
<string name="danar_viewprofile">Se profil</string>
<string name="danar_visualizeextendedaspercentage_title">Se förlängd bolus som %</string>
<string name="danarkoreanpump">DanaR Korea</string>
<string name="danarprofile">DanaR profil inställningar</string>
<string name="danarprofile_dia">DIA (h)</string>
<string name="danarprofile_dia_summary">Insulinets verkningstid (DIA)</string>
<string name="danarpump">DanaR</string>
<string name="danarpump_shortname">DANA</string>
<string name="days">dagar</string>
<string name="de_lang">Deutsch</string>
<string name="deliver_now">Ge nu</string>
<string name="delta">Delta</string>
<string name="dev">DEV</string>
<string name="devicenotfound">Vald enhet ej funnen</string>
<string name="dia">DIA</string>
<string name="disabledloop">Loop Frånkopplad</string>
<string name="disconnectpumpfor1h">Frånkoppla pump i 1 h</string>
<string name="disableloop">Stäng av loop</string>
<string name="disconnected">Frånkopplad</string>
<string name="disconnecting">Frånkopplar</string>
<string name="disconnectpumpfor10h">Frånkoppla pump i 10 h</string>
<string name="disconnectpumpfor2h">Frånkoppla pump i 2 h</string>
<string name="disconnectpumpfor30m">Frånkoppla pump i 30 min</string>
<string name="disconnectpumpfor3h">Frånkoppla pump i 3 h</string>
<string name="dismiss">AVBÖJ</string>
<string name="do_not_track_profile_switch">Ignorera profilbyten</string>
<string name="do_not_track_profile_switch_summary">Alla profilbyten ignoreras och aktiv profil används alltid</string>
<string name="dont_show_again">Visa inte detta igen</string>
<string name="duration">Duration</string>
<string name="eatingsoon">Äta snart</string>
<string name="edit_base_basal">Ändra Base-Basal:</string>
<string name="en_lang">Engelska</string>
<string name="enabled">Startad</string>
<string name="enableloop">Starta loop</string>
<string name="enablesuperbolus">Aktivera superbolus i kalkylatorn</string>
<string name="enablesuperbolus_summary">Aktivera superbolus funktionen i kalkylatorn. Aktivera inte innan du förstått hur den fungerar. DEN KAN ORSAKA ÖVERDOSERING AV INSULIN OM INSIKT SAKNAS OM FUNKTIONEN</string>
<string name="enacted">Aktiverad</string>
<string name="end_user_license_agreement">Licensavtal för Slutanvändare</string>
<string name="end_user_license_agreement_i_understand">JAG FÖRSTÅR OCH GODKÄNNER</string>
<string name="entertreatmentquestion">Ange ny behandling</string>
<string name="error_field_must_not_be_empty">Denna kolumn får ej vara tom</string>
<string name="error_only_numeric_digits_allowed">Endast siffror får användas</string>
<string name="error_only_numeric_digits_range_allowed">Endast siffror är tillåtna inom %1$s - %2$s</string>
<string name="error_phone_not_valid">Ej giltigt telefonnummer</string>
<string name="es_lang">Spanska</string>
<string name="executing">Utför</string>
<string name="export_to">Exportera inställningar till</string>
<string name="exported">Inställningar exporterade</string>
<string name="extendedbolus">FörlängdBolus</string>
<string name="failedupdatebasalprofile">Lyckades ej uppdatera basalprofil</string>
<string name="fastactinginsulin">Snabbverkande Insulin</string>
<string name="fastactinginsulincomment">Novorapid, Novolog, Humalog, Apidra</string>
<string name="filenotfound">Data ej funnen</string>
<string name="fillbolus_title">Fyll/Förfyll standard insulin mängd</string>
<string name="fillwarning">Vg försäkra dig om att mängd motsvarar det som är specificerat för just ditt infusionsset</string>
<string name="gettingpumpstatus">Hämtar pump status</string>
<string name="glucose">Glukos</string>
<string name="glucosetype_finger">Finger</string>
<string name="glucosetype_sensor">Sensor</string>
<string name="high_mark">HÖG markering</string>
<string name="hours">timmar</string>
<string name="hoursago">h sedan</string>
<string name="import_from">Importera inställningar från</string>
<string name="initializing">Startar...</string>
<string name="invalidprofile">Ogiltig profil !!!</string>
<string name="iob">IOB</string>
<string name="it_lang">Italienska</string>
<string name="ko_lang">Koreanska</string>
<string name="language">Språk</string>
<string name="localprofile">Lokal Profil</string>
<string name="localprofile_shortname">LP</string>
<string name="loop">Loop</string>
<string name="loop_aps_label">APS</string>
<string name="loop_constraintsprocessed_label">Efter avklarade begränsningar</string>
<string name="loop_setbypump_label">Inställning i pump</string>
<string name="loop_shortname">LOOP</string>
<string name="loopdisabled">LOOP STOPPAD PGA BEGRÄNSNINGAR</string>
<string name="loopmenu">Loop meny</string>
<string name="loopsuperbolusfor" formatted="false">Superbolus (%d m</string>
<string name="loopsuspended">Loop avstängd</string>
<string name="low_mark">LÅG markering</string>
<string name="lowbattery">Svagt Batteri</string>
<string name="manual">Manual</string>
<string name="mdtp_cancel">Avbryt</string>
<string name="mealbolus">Måltid</string>
<string name="missing">Fattas</string>
<string name="nav_about">Om</string>
<string name="nav_backup">Backup</string>
<string name="nav_exit">Exit</string>
<string name="nav_export">Exportera inställningar</string>
<string name="nav_import">Importera inställningar</string>
<string name="nav_preferences">Inställningar</string>
<string name="nav_refreshtreatments">Uppdatera behandlingar från NS</string>
<string name="nav_resetdb">Återställ Databaser</string>
<string name="nav_show_logcat">Visa log</string>
<string name="nav_test_alert">Testa alarm</string>
<string name="nightscout">Nightscout</string>
<string name="noapsselected">INGEN APS VALD</string>
<string name="nobtadapter">Ingen Bluetooth adapter funnen</string>
<string name="nochangerequested">Ingen ändring behövs</string>
<string name="noprofile">Ingen profil laddad ännu från NS</string>
<string name="noprofileselected">Ingen profil vald</string>
<string name="noprofileset">INGEN PROFIL VALD</string>
<string name="nosuccess">misslyckat - vg kontrollera telefonen</string>
<string name="notavailable">Ej tillgängligt</string>
<string name="nowritepermission">NSCLIENT har inga skrivrättigheter. Fel API secret?</string>
<string name="ns_alarmoptions">Alarm inställningar</string>
<string name="ns_localbroadcasts">Medge lokal sändning till andra appar (ex xDrip)</string>
<string name="ns_localbroadcasts_title">Aktivera lokal Broadcasts</string>
<string name="ns_logappstartedevent">Markera app start till NS</string>
<string name="ns_noupload">Ingen uppladdning till NS</string>
<string name="ns_noupload_summary">Ingen data sänds till NS. AAPS kommunicerar med NS men inga ändringar görs i NS</string>
<string name="ns_sync_use_absolute_title">Använd alltid absoluta värden i basal</string>
<string name="ns_upload_only">Endast uppladdning till NS (avaktiverad sync)</string>
<string name="ns_upload_only_summary">Endast uppladdning till NS. Fungerar ej med SGV om inte lokal källa som xDrip används. Inte effektiv med Profiler om NS-Profiler används</string>
<string name="nsalarm_high">Hög</string>
<string name="nsalarm_low">Låg</string>
<string name="nsalarm_staledata">Gammal data</string>
<string name="nsclient">NSClient</string>
<string name="nsclientinternal_devicename_dialogtitle">Ange enhetens namn</string>
<string name="nsclientinternal_devicename_title">Enhetens namn</string>
<string name="nsclientinternal_secret_dialogmessage">Ange NS API sectet (min 12 tecken)</string>
<string name="nsclientinternal_secret_dialogtitle">NS API secret</string>
<string name="nsclientnotinstalled">NSClient är inte installerad. Data förlorad!</string>
<string name="nsclientinternal_url_title">Nightscout URL</string>
<string name="nsclientinternal_url_dialogmessage">Enter Nightscout URL</string>
<string name="nsclientinternal_url">URL:</string>
<string name="nsclientinternal_title">NSClient</string>
<string name="nsclientinternal_shortname">NSCI</string>
<string name="nsclientinternal_secret_title">NS API secret</string>
<string name="nsprofileview_activeprofile_label">Aktiv profil</string>
<string name="nsprofileview_basal_label">Basal</string>
<string name="nsprofileview_dia_label">DIA</string>
<string name="nsprofileview_ic_label">IC</string>
<string name="nsprofileview_isf_label">ISF</string>
<string name="nsprofileview_target_label">Målvärde</string>
<string name="nsprofileview_units_label">Enheter</string>
<string name="oaps_shortname">OAPS</string>
<string name="objectives">Mål/Syfte</string>
<string name="objectives_0_gate">Kontrollera att BG syns i NS, och att pump insulin data laddas upp</string>
<string name="objectives_0_objective">Ställa in utseende och övervakning, för att sedan kunna analysera basaler och kvoter</string>
<string name="youareonallowedlimit">Du har nått din tillåtna gräns</string>
<string name="xdripstatus_shortname">xds</string>
<string name="xdripstatus_settings">xDrip Status (klocka)</string>
<string name="xdripstatus">xDrip Statusline (klocka)</string>
<string name="xdripnotinstalled">xDrip+ inte installerat</string>
<string name="xdrip">xDrip</string>
<string name="wrongpumppassword">Fel lösenord för pump</string>
<string name="wrongpumpdriverselected">Fel pump program vald</string>
<string name="wrongpassword">Fel lösenord</string>
<string name="wear_showbgi_title">Visa BGI</string>
<string name="wear_showbgi_summary">Visa BGI i statusfält</string>
<string name="wear_shortname">WEAR</string>
<string name="wear_settings">Wear inställningar</string>
<string name="wear_detailedIOB_title">Visa detaljerad IOB</string>
<string name="wear_detailedIOB_summary">Visa IOB med bolus och basal på klocka</string>
<string name="wear">Wear</string>
<string name="waitingforpumpresult">Väntar på resultat</string>
<string name="waitingforpumpclicktorefresh">Väntar på pump. Klicka för att uppdatera</string>
<string name="waitingforpump">Väntar på pump</string>
<string name="vitualpump_label">Virtuell</string>
<string name="visible">Synlig</string>
<string name="virtualpump_uploadstatus_title">Ladda upp till NS</string>
<string name="virtualpump_tempbasal_label">Temp basal</string>
<string name="virtualpump_sqlerror">SQL Error</string>
<string name="virtualpump_shortname">VPUMP</string>
<string name="virtualpump_settings">Virtuell pump inställningar</string>
<string name="virtualpump_resultok">OK</string>
<string name="virtualpump_reservoir_label">Reservoir</string>
<string name="virtualpump_lastconnection_label">Sista kontakt</string>
<string name="virtualpump_firmware_label">Programversion</string>
<string name="virtualpump_extendedbolus_label">Förlängd bolus</string>
<string name="virtualpump_battery_label">Batteri</string>
<string name="virtualpump_basebasalrate_label">Grund basal hastighet</string>
<string name="virtualpump">Virtuell Pump</string>
<string name="uploading">Uppladdning</string>
<string name="updatingbasalrates">Uppdaterar basal hastigheter</string>
<string name="up">Upp</string>
<string name="unsupportednsversion">Version av NS som inte stöds</string>
<string name="unsupportedclientver">Version av NSClient som inte stöds</string>
<string name="unlock_settings">Lås upp inställningar</string>
<string name="units">Enheter:</string>
<string name="treatmentssafety_title">Säkerhet vid behandling</string>
<string name="treatmentssafety_maxcarbs_title">Max tillåtna KH (g)</string>
<string name="treatmentssafety_maxbolus_title">Max tillåten</string>
<string name="treatments_wizard_unit_label">E</string>
<string name="treatments_wizard_total_label">TOTAL</string>
<string name="treatments_wizard_correction_label">Korr</string>
<string name="treatments_wizard_cob_label">COB</string>
<string name="treatments_wizard_carbs_label">KH</string>
<string name="treatments_wizard_bolusiob_label">Bolus IOB</string>
<string name="treatments_wizard_bgtrend_label">15min trend</string>
<string name="treatments_wizard_bg_label">BG</string>
<string name="treatments_wizard_basaliob_label">Basal IOB</string>
<string name="treatments_shortname">TREAT</string>
<string name="treatments_newtreatment_insulinamount_label">Insulin</string>
<string name="treatments_newtreatment_carbsamount_label">KH</string>
<string name="treatments_iobtotal_label_string">Total IOB:</string>
<string name="treatments_iobactivitytotal_label_string">Total aktiv IOB:</string>
<string name="treatments_iob_label_string">IOB:</string>
<string name="treatments_insulin_label_string">Insulin:</string>
<string name="treatments_carbs_label_string">KH:</string>
<string name="treatments_activity_string">Aktivitet:</string>
<string name="treatments">Behandlingar</string>
<string name="treatmentdeliveryerror">Bolus ej tillförd</string>
<string name="temptargetrange_shortname">TT</string>
<string name="temptarget">TempMål</string>
<string name="tempbasals_shortname">TB</string>
<string name="tempbasals_realduration_label_string">Dur:</string>
<string name="tempbasals_netratio_label_string">Kvot:</string>
<string name="tempbasals_netinsulin_label_string">Ins:</string>
<string name="tempbasals_iobtotal_label_string">Total IOB:</string>
<string name="tempbasals_iob_label_string">IOB:</string>
<string name="tempbasaldeliveryerror">Tempbasal ej tillförd</string>
<string name="tempbasal">Tempbasal</string>
<string name="teenage">Tonåring</string>
<string name="targetmissing">Mål saknas i profil. Använder grundinställning</string>
<string name="target_range">Mål gränser:</string>
<string name="syncprofiletopump_title">Uppdatera profil till pump</string>
<string name="suspendloopfor3h">Stäng av loop i 3 h</string>
<string name="suspendloopfor2h">Stäng av loop i 2 h</string>
<string name="suspendloopfor1h">Stäng av loop i 1 h</string>
<string name="suspendloopfor10h">Stäng av loop i 10 h</string>
<string name="superbolus">Superbolus</string>
<string name="success">Lyckad</string>
<string name="stoppingtempbasal">Stoppar temp basal</string>
<string name="stoppingextendedbolus">Stoppar förlängd bolus</string>
<string name="status">Status:</string>
<string name="smscommunicator_wrongduration">Fel duration:</string>
<string name="smscommunicator_unknowncommand">Okänt kommando eller fel svar</string>
<string name="smscommunicator_tempbasalset" formatted="false">Temp basal %.2fU/h for %d min startad</string>
<string name="smscommunicator_tempbasalfailed">Fel vid Temp basal start</string>
<string name="smscommunicator_tempbasalcancelfailed">Gick ej att avbryta temp basal</string>
<string name="smscommunicator_tempbasalcanceled">Temp basal avbruten</string>
<string name="smscommunicator_suspendreplywithcode" formatted="false">För att avbryta loop i %d minuter svara med kod %s</string>
<string name="smscommunicator_shortname">SMS</string>
<string name="smscommunicator_remotecommandsallowed">Tillåt fjärrkommandon via SMS</string>
<string name="smscommunicator_remotecommandnotallowed">Fjärrkommandon tillåts ej</string>
<string name="smscommunicator_remotecalibrationnotallowed">Kalibrering från andra källor godkänns ej</string>
<string name="smscommunicator_remotebolusnotallowed">Fjärrbolus är inte tillåtet</string>
<string name="smscommunicator_remotebasalnotallowed">Fjärrkommandon för att ändra basaler tillåts ej</string>
<string name="smscommunicator_missingsmspermission">Ej godkänd för SMS</string>
<string name="smscommunicator_loopsuspended">Loop avstängd</string>
<string name="smscommunicator_loopresumed">Loop åter startad</string>
<string name="smscommunicator_loopisenabled">Loop är aktiverad</string>
<string name="smscommunicator_loopisdisabled">Loop är avstängd</string>
<string name="smscommunicator_loophasbeenenabled">Loop är aktiverat</string>
<string name="smscommunicator_loophasbeendisabled">Loop är avstängd</string>
<string name="smscommunicator_invalidphonennumber">Icke giltigt telefonnummer för SMS</string>
<string name="smscommunicator_calibrationsent">Kalibrering skickad. xDrip måste tillåta att ta emot kalibrering i inställningarna</string>
<string name="smscommunicator_calibrationreplywithcode" formatted="false">För att skicka kalibrering %.2f svar med kod %s</string>
<string name="smscommunicator_calibrationfailed">xDrip tar inte emot kalibreringar</string>
<string name="smscommunicator_bolusreplywithcode" formatted="false">För att ge bolus %.2fU svar med kod %s</string>
<string name="smscommunicator_bolusfailed">Bolus ej given</string>
<string name="smscommunicator_bolusdelivered" formatted="false">Bolus %.2fU tillförd</string>
<string name="smscommunicator_basalstopreplywithcode">För att stoppa temp basal svara med kod %s</string>
<string name="smscommunicator_basalreplywithcode" formatted="false">För att starta basal %.2fU/h svara med kod %s</string>
<string name="smscommunicator_allowednumbers_summary">+XXXXXXXXXX;+YYYYYYYYYY</string>
<string name="smscommunicator_allowednumbers">Tillåtna telefonnummer</string>
<string name="smscommunicator">SMS Tjänst</string>
<string name="sms_lastbg">Senaste BG:</string>
<string name="simpleprofile">Enkel profil</string>
<string name="show_queue">Visa kö</string>
<string name="settings_password">Lösenord för inställningar</string>
<string name="settingextendedbolus">Ställ in förlängd bolus</string>
<string name="setting_imported">inställningar importerade</string>
<string name="setextendedbolusquestion">Ställ in ny förlängd bolus:</string>
<string name="setbasalquestion">Acceptera ny temp basal:</string>
<string name="send_to_pump">SKICKA TILL PUMP</string>
<string name="send_calibration" formatted="false">Skicka kalibrering %.1f till xDrip?</string>
<string name="send">SKICKA</string>
<string name="save">Spara</string>
<string name="safety">Säkerhet</string>
<string name="resume">Återuppta</string>
<string name="result">Resultat</string>
<string name="restartingapp">Gå ur applikationen för att starta inställning</string>
<string name="restart">Omstart</string>
<string name="reset_db_confirm">Vill du verkligen återställa databasen?</string>
<string name="resend_all_data">Återsänd all Data</string>
<string name="removerecord">Ta bort sparad data:</string>
<string name="reloadprofile">Ladda om profil</string>
<string name="refresheventsfromnightscout">Uppdatera händelser från NS</string>
<string name="reason">Orsak</string>
<string name="ratio_short">RAT</string>
<string name="rate">Hastighet</string>
<string name="quickwizardsettings">Kalkylator inställningar</string>
<string name="quickwizard">Kalkylator</string>
<string name="queue">Kö:</string>
<string name="pumpsuspendedclicktorefresh">Pump stoppad. Klicka för ladda om status</string>
<string name="pumpsuspended">Pump stoppad</string>
<string name="pumpshutdown">Pump avstängd</string>
<string name="pumperror">Pumpfel</string>
<string name="pumpbusy">Pump upptagen</string>
<string name="pumpNotInitializedProfileNotSet">Pump inte igångsatt, ingen profil vald</string>
<string name="pumpNotInitialized">Pump inte startad</string>
<string name="pump">Pump</string>
<string name="profileviewer_shortname">NSPROFIL</string>
<string name="profileviewer">NS Profil</string>
<string name="profileswitch">ProfilByte</string>
<string name="profile_set_ok">Basal profil i pump uppdaterad</string>
<string name="profile_set_failed">Ny basal profil misslyckades</string>
<string name="profile">Profil</string>
<string name="primefill">Prime/Fyll</string>
<string name="prefs_range_title">Gränsvärden för Visualisering</string>
<string name="prefs_range_summary">Högt och lågt värde för graf i översikten och i smartwatch</string>
<string name="pleaseallowpermission">Vg ge tillåtelse</string>
<string name="percent">Procent</string>
<string name="percentagefactor_hint">Procentfaktor med vilken basal profilen kommer att bli multiplicerad</string>
<string name="paused">Pausad</string>
<string name="patientage_summary">Vg ange personens ålder för inställningar av gränser</string>
<string name="patientage">Personens ålder</string>
<string name="overview_tempbasal_button">TempBasal</string>
<string name="overview_shortname">Hemma</string>
<string name="overview_quickwizard_item_remove_button">Ta bort</string>
<string name="overview_quickwizard_item_edit_button">Editera</string>
<string name="overview_newtempbasal_percent_label">% (100% = current)</string>
<string name="overview_extendedbolus_cancel_button">Stoppa Förlängd Bolus</string>
<string name="overview_extendedbolus_button">Förlängd Bolus</string>
<string name="overview_editquickwizardlistactivity_add">Lägg till</string>
<string name="overview_editquickwizard_valid">Giltig:</string>
<string name="overview_editquickwizard_carbs">KH:</string>
<string name="overview_editquickwizard_buttontext">Knapp text:</string>
<string name="overview_calibration_bg_label">Kalibrering</string>
<string name="overview_calibration">Kalibrering</string>
<string name="overview_calculator_label">Kalkylator</string>
<string name="overview_bolusprogress_stoppressed">STOPP NEDTRYCKT</string>
<string name="overview_bolusprogress_stoped">Stoppad</string>
<string name="overview_bolusprogress_stop">Stopp</string>
<string name="overview_bolusprogress_goingtodeliver" formatted="false">Kommer tillföra %.2fU</string>
<string name="overview_bolusprogress_delivered">Tillförd</string>
<string name="overview_bolus_label">Bolus</string>
<string name="overview">Översikt</string>
<string name="othersettings_title">Andra</string>
<string name="openloop_newsuggestion">Ny behandlingsrekommendation tillgänglig</string>
<string name="openloop">Open Loop</string>
<string name="openapsma_valueoutofrange" formatted="false">Värde %s är utanför gränserna</string>
<string name="openapsma_valuelimitedto" formatted="false">%.2f begränsad till %.2f</string>
<string name="openapsma_run">Kör nu</string>
<string name="openapsma_request_label">Fråga</string>
<string name="openapsma_profile_label">Profil</string>
<string name="openapsma_nopump">Ingen pump tillgänglig</string>
<string name="openapsma_noprofile">Ingen profil tillänglig</string>
<string name="openapsma_noglucosedata">Ingen glukos data tillänglig</string>
<string name="openapsma_mealdata_label">Måltids data</string>
<string name="openapsma_maxiob_title">Maximal basal IOB som OpenAPS kan ge [E]</string>
<string name="openapsma_maxiob_summary">Detta värde kallas Max IOB i OpenAPS. Det är ställt till noll från start. Efter flera dagar till veckor, beroende på hur du känner, kan du välja att justera denna.</string>
<string name="openapsma_maxbasal_title">Max E/h som Temp Basal kan ställas in på</string>
<string name="openapsma_maxbasal_summary">Detta värde kallas max basal inom OpenAPS</string>
<string name="openapsma_lastrun_label">Senaste körning</string>
<string name="openapsma_lastenact_label">Senast startad</string>
<string name="openapsma_iobdata_label">IOB data</string>
<string name="openapsma_inputparameters_label">Ange värden</string>
<string name="openapsma_glucosestatus_label">Status Glukos</string>
<string name="openapsma_disabled">Plug in är avaktiverad</string>
<string name="openapsma_currenttemp_label">Nuvarande temp</string>
<string name="openapsma_autosensdata_label">Autosens data</string>
<string name="openapsma">OpenAPS MA</string>
<string name="openapsama_useautosens">Använd AMA autosens funktioner</string>
<string name="openapsama_min_5m_carbimpact_summary">Inställt värde: 3.0 Detta är grundinställning för KH.absorption per 5 min. 3 mg/dl/5 min. Detta styr hur snabbt COB minskar, dvs hur snabbt programmet kalkylerar att KH tagits upp, och påverkar BG framöver när BG faller mer än väntat, eller inte stiger som väntat"</string>
<string name="openapsama_max_daily_safety_multiplier_summary">Inställt värde: 3 Detta är en grundsten i OpenAPS säkerhetsaspekt. Detta begränsar din basal till att vara 3x din största basalhastighet. Du behöver ofta inte ändra detta värde, Läs på och förstå skilnaden på 3x nuvarande och 3x daglig max som säkerhetsinställningar.</string>
<string name="openapsama_link_to_preferncejson_doc_txt">Viktigt! Normalt behöver du inte ändra dessa värden. Vg KLICKA HÄR och LÄS texten och försäkra dig om att du FÖRSTÅTT innan du ändrar dessa värden.</string>
<string name="openapsama_current_basal_safety_multiplier_summary">Inställt värde: 4 Detta är andra delen i grunden för säkerhet i OpenAPS, dvs kring 3x och 4 x daglig och nuvarnde basaler. Detta värde innebär att din nuvarande basal, oberoende av din max basalhastighet, kan aldrig bli högre än 4x nuvarande basal. Detta för att undvika att man farliga inställningar. Om man når taket i denna inställning så kanske ändringar i andra inställningar behövs. De flesta behöver inte ändra denna inställning.</string>
<string name="openapsama_bolussnooze_dia_divisor_summary">Inställt värde: 2 Bolus snooze är aktivt efter att du givit en måltidsbolus, detta för att inte loop ska lågtempa när du just ätit. I detta exempel och grundvärde är 2; innebär att DIA på 3 tim kommer bolus snooze kommer att fasas ut under 1,5 tim (3DIA/2).</string>
<string name="openapsama_autosens_period_summary">Antal timmar för beräkning av känslighet (KH absorptionstid är exkluderad)</string>
<string name="openapsama_autosens_period">Intervall för autosens (h)</string>
<string name="openapsama_autosens_min_summary">Inställt värde: 0.7 Detta är den andra delen av autosens säkerhetsaspekt, den sätter en gräns på hur lågt autosens kan justera basaler, och hur högt den kan justera ISF och BG mål</string>
<string name="openapsama_autosens_max_summary">Inställt värde: 1.2 Detta är inställt värde för hur mycket autosens kan multiplicera uppåt (snart även autotune) dvs max 20%, med 1.2 kan alltså autosens öka dina basaler med max 20%, denna gräns gäller alltså hur högt autosens kan justera dina basaler men även hur lågt den kan justera ISF och hur lågt den kan sätta BG mål.</string>
<string name="openapsama_autosens_adjusttargets_summary">Inställt värde: sant Detta för att tillåta autosens justera BG målvärden, tillsammans med ISF och basaler</string>
<string name="openapsama">OpenAPS AMA</string>
<string name="openaps_short">OAPS</string>
<string name="openaps">OpenAPS</string>
<string name="open_settings_on_wear">Öppna inställningar på Wear</string>
<string name="ongoingnotificaction">Pågående rapportering</string>
<string name="old_data">GAMMAL DATA</string>
<string name="ok">OK</string>
<string name="occlusion">Ocklusion</string>
<string name="objectives_shortname">M/S</string>
<string name="objectives_pumpstatusavailableinns">Pump status tillgänglig i NS</string>
<string name="objectives_objective_label_string">Mål/syfte</string>
<string name="objectives_minimalduration">Minimal duration</string>
<string name="objectives_manualenacts">Manuell aktivering</string>
<string name="objectives_gate_label_string">Spärr:</string>
<string name="objectives_button_verify">Godkänn</string>
<string name="objectives_button_start">Starta</string>
<string name="objectives_bgavailableinns">BG är tillängligt i NS</string>
<string name="objectives_6_objective">Aktiverar extra funktioner som kan användas dagitd, såsom avancerad måltids assist</string>
<string name="objectives_5_objective">Justerar basaler och ration om det behövs, aktivera sedan auto-sens</string>
<string name="objectives_5_gate">1 veckas framgångsrik dagtids looping där alla måltider lagts in</string>
<string name="objectives_4_objective">Finjustering av closed loop, gradvis ökande IOB och minskande önskat BG målvärde</string>
<string name="objectives_4_gate">Kör några dagar, och åtminstone en natt utan larm för lågt BG, innan du sänker BG målvärde</string>
<string name="objectives_3_objective">Börja använda closed loop med aktiverad funktion att stänga av vid lågt BG</string>
<string name="objectives_3_gate">Aktivera closed loop med max IOB=0 i några dagar till dess systemet inte stänger av pga lågt BG för många gånger</string>
<string name="objectives_2_objective">Förstå din open loop, och hur den föreslår temp basaler</string>
<string name="objectives_2_gate">Utifrån vad du nu lärt dig, besluta vilken max basal du vil ha, ställ in det både i inställningar i APS och i den pump.</string>
<string name="objectives_1_objective">Starta med open loop</string>
<string name="objectives_1_gate">Starta Open loop och använd det några dagar, försök att ge många föreslagna temp basaler</string>
<string name="absorption_maxtime_summary">Tid i timmar när alla KH väntas vara absorberade</string>
<string name="absorption_maxtime_title">Måltids max absorptions tid (h)</string>
<string name="absorptionsettings_title">Absorptions inställningar</string>
<string name="bg_lang">Bulgariska</string>
<string name="careportal_pump_label">PUMP</string>
<string name="careportal_pumpbatterychange">Batteribyte Pump</string>
<string name="careportal_sensorage_label">Sensor ålder</string>
<string name="careportal_sensorage_label_short">SAGE</string>
<string name="cpp_sync_setting_missing">Måste vara aktiverad för att kunna skicka värden till pumpen</string>
<string name="cpp_valuesnotstored">Värden sparas inte</string>
<string name="danar_stats_warning_Message">Möjligen felvärde om man använder bolus för att priming/fyllning!</string>
<string name="edit_base_ic">Ändra Base-IC:</string>
<string name="edit_base_isf">Ändra Base-ISF:</string>
<string name="el_lang">Grekiska</string>
<string name="end_user_license_agreement_text">MUST NOT BE USED TO MAKE MEDICAL DECISIONS. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</string>
<string name="isfmissing">ISF fattas i profilen. Använder värde från grundinställning.</string>
<string name="lock_screen">Lås skärm</string>
<string name="lock_screen_short">Lås</string>
<string name="mmol">mmol/l</string>
<string name="minago" formatted="false">%dmin sedan</string>
<string name="mgdl">mg/dl</string>
<string name="mdtp_ok">OK</string>
<string name="mdi">MDI</string>
<string name="nsclientinternal">NSClient</string>
<string name="nsclientinternal_autoscroll">Autoscroll</string>
<string name="openapsama_link_to_preferncejson_doc">http://openaps.readthedocs.io/en/latest/docs/walkthrough/phase-3/beyond-low-glucose-suspend.html</string>
<string name="overview_newtempbasal_basaltype_label">Basal typ</string>
<string name="sensitivity_shortname">SENS</string>
<string name="sensitivity_warning">Genom att slå på Autosens funktionen, kom ihåg att skriva in alla KH. Annars kommer programmet göra fel i beräkningar av känslighet (ISF)!!</string>
<string name="sensitivityaaps">Sensitivity AAPS</string>
<string name="sensitivityoref0">Sensitivity Oref0</string>
<string name="sensitivityweightedaverage">Sensitivity WeightedAverage</string>
<string name="settingtempbasal">Ställa in temp basal</string>
<string name="simpleprofile_shortname">SP</string>
<string name="sms_actualbg">BG:</string>
<string name="sms_basal">Basal:</string>
<string name="sms_bolus">Bolus:</string>
<string name="sms_delta">Delta:</string>
<string name="sms_iob">IOB:</string>
<string name="sms_minago" formatted="false">%dmin sedan</string>
</resources>