Running with OmniLoop

Not sure if it helps or not, but there is a way to disable authentication. See https://loopkit.github.io/loopdocs/build/code_customization/#disable-authentication-for-bolusing

2 Likes

Yep, I disable, too :slight_smile:

1 Like

In response to the override stuff and the link bpollina posted, I have 3 questions, for clarification.

  1. The loop doc bpollina posted has this reference about customizing the build for different workout duration’s. But it looks like the current JoJo build allows you to create an override for any time duration. Is this reference no longer needed? I mean, can you create an override of any duration without modifying the code? (perhaps that was what JoJo was all about?)

  1. It looks like when you are creating a custom override, you can’t create it for zero basal?!?! It looks like you can only go down to 10%. Is that correct? Can you create a custom override for zero basal? (if you can’t create one for ZB, that would make no sense to me!!!)

  1. How many custom overrides can you create? I would think I’d like to make them for several different time segments, but all at zero. Like 30 minutes, 1 hour, 2, hours, 3 hours, but all zero’s (but maybe I can’t do zero’s). How many custom overrides can you create?

I think that’s all for now. Thanks!

1 Like

First comment, the screenshots in your post are all from the main branch. Jojo branch is completely different … I’ll post a few here from Jojo, and my remaining response is all re: Jojo. And, YES, this is why Jojo branch is so GREAT!!

Yes, you can create an Override of any duration, including “Indefinitely” which would be enabled until you manually disable it (by tapping the Override icon on watch or phone). And Yes, no code modification required:)

Alternatively, you can disable the Indefinitely, and scroll to a specific Duration:

Yes, you can by simply setting the Target Range to something your “predicted” BG would never be! I created one with a 200 range. If you enter carbs though during the run, the “predicted” BG could go high, so it is always better to put the Target Range to a very high value if you want to maintain the ZB throughout the run.

I don’t think there is a limit (haven’t looked at the code!), but it could get cumbersome to scroll to the right Override if you have too many :slight_smile: Here are a few of mine, but honestly I only use a few of them so far. Also, maybe instead of making ZB for all time segments, just create a ZB and Enable Indefinitely. This will give you ZB until you tap on the Override to disable it. You can do this from the watch or iPhone.

2 Likes

The problem with that is if you forget to turn it off when you are done! That would cause troubles!
:grinning:

So just for clarification, I know you can adjust a target BG, which essentially means you get zero insulin.

But…can you just create an override for 0%?

I am not sure if I am misunderstanding something, but it seems odd that you can create one for as low as 10%, but not 0% !

Yeah, that first picture was just from the link bpollina posted!

1 Like

As discussed in @T1Allison’s running thread, I decided I would try to improve my cadence today. My run is mostly hills so I wasn’t sure I’d be able to improve much. I didn’t end up actually counting the steps but instead just concentrated on form, deliberately taking shorter, quicker steps. It was exhausting but I think by the end it was getting easier and for a while I didn’t even notice I was doing it.

I reviewed old runs in Apple Activity to try to find a similar route that I had done to compare the resulting cadence. I found one that was fairly similar, and Avg. Cadence was 164 SPM. Today’s was 172 SPM, quite an improvement much to my surprise :slight_smile:

Since my BG was on the high side, and trending higher, I left my Scheduled Basal active and relied on Loop to manage the basal based on my BGs. Loop gave me 0-1.8U/hr, but mostly ZB. Worked out fine today but I did cut my run short seeing that I was trending down.

12:42 Run Start, BG 100, Scheduled Basal 0.5U, Loop primarily gave ZB
02:04 Run end, BG 76
Duration: 1 hr 21 mins
Distance: approx. 8 mi
Avg. Cadence: 172SPM

2 Likes

Yes, definitely!

No, Jojo has the same 10% floor. I would think it would be an easy code customization though to add 0%, but haven’t looked. I’ll take a peek at the code…

Loop-jojo/Carthage/Checkouts/LoopKit/LoopKitUI/Views/InsulinSensitivityScalingTableViewCell.swift Line 19:
private let allScaleFactorPercentages = Array(stride(from: 10, through: 200, by: 10))

So, it is in the Loopkit Repo, not the Jojo Loop Repo. You can tell because it is located in the Carthage/Checkouts/LoopKit/ folder. However, the change is pretty simple, just change ‘10’ to ‘0’. I will test it out and let you know if it works… :slight_smile:

Or, we could ask on zulipchat if this is something the Dev team would support so users do not have to do the code customization. I think many would want a ZB Override. I’ll ask.

1 Like

Yes, it seems like a ZB would make sense, right?!? Especially if there are users like you making crazy BG targets of 200, just so they can get a ZB! :rofl:

Thanks for all the info! Very helpful and interesting!

1 Like

I just checked Zulipchat, and found a “Temp Basal of 0” thread. And, yes, this is the recommended way of getting a ZB:

“Although it’s not a direct command for zero insulin, an override with a very high target (say 400) should effectively zero out your insulin delivery.”

1 Like

I would not recommend attempting to create a 0% override as an easy code fix. Override affects three parameters at the same time: insulin sensitivity, carb ratio, and default basal rate, not just the basal rate. So, a 0% override would tell Loop that your insulin sensitivity is infinitely large, and that you can have an infinite amount of carbs per unit of insulin. In short, a 0% override is equivalent to a statement that you’ve been cured, which would be great, except calculators and algorithms do not like divisions by zero and have troubles handling infinities. A better code customization might be to decouple the effects of override so that 0% means zero basal, but not infinite sensitivity, but that might be slightly more difficult to code. Or, you could open a Loop issue and propose that, and potentially have someone else do the coding for you.

On a related note, @Eric, when are you going to give Loop a try? We need answers from you, not questions :wink:

3 Likes

I agree, better to use the existing, zulipchat, recommended method of a high target for now. Thanks for the detailed analysis!

I would definitely need a smaller amount on my watch than 0.25!!

Do you know where that setting is to change the default increment?

EDIT:
Never mind, I think I got it.

I have made a bunch of mods to the code today! :open_mouth:

I changed a bunch of stuff, like default durations and peak times. Will see how it works…
:crossed_fingers:

1 Like

I think the code is in WatchApp Extension/Controllers/BolusInterfaceController.swift. I haven’t looked into any of that yet though! I decided to leave my increment as is for now since it seemed to work for me, at least on the one day I tried bolusing from the watch! That is great you made customizations for your own needs. Are you using Jojo-beeps? I saw on zulipchat that Jojo is supposed to be merged into Loop dev, but there are currently still some issues migrating Jojo overrides.

Hmmm…

I downloaded the JoJo code. But I am not sure what JoJop beeps is! :grinning:

I need to finish my custom watch icons and then I will build it.

1 Like

It is listed under Jojo Beeps :slight_smile:

The only diff between Jojo and Jojo-beeps is that beeps will “beep” twice when bolus starts, and once when complete. A nice feature to confirm bolus was successful :slight_smile:

Hope the build is successful!

1 Like

Wait, what, @Eric you are running Loop !? :sunglasses::100::+1::clap::clap: I was so hoping you would give it a try. We really need your feedback, and we may be able to insert at least some of your knowledge and intuition into further algo and UI improvements! Of course, feel free to throw any questions and suggestions about use cases, whys and why-nots, the code, whatever.

I’ll start by admitting that exercise mode in Loop (even with JoJo overrides) is lacking - there is lots of room for improvements there.

3 Likes

I am still trying to sort through the practicality of it for myself.

I don’t enter carbs for anything on my pump. So when I enter a bolus for a meal without putting in carbs, it totally freaks out. It shows my predicted BG being at negative 400 in a few hours. :rofl:

So realistically, I think I will only be in closed loop at night to see how it works for me there. I do fine without Loop during the day. But having it adjust when I am asleep could be helpful.

The other thing I need to sort out is if I can bolus easily while running. The current PDM with buttons is extremely easy for me. Maybe the Apple watch with Loop would be easy. Haven’t gotten a watch yet. That is a few weeks down the road I think.

Apple watch is pretty easy to bolus from. It should also be possible to modify the code to just tell Siri to bolus for you :slight_smile:

Loop is a total opposite of what we’ve been doing forever: you just tell it what you are about to eat and let it dose insulin for you. That’s one reason people have a bit of trouble switching to it completely - we are so entrenched into dosing strategies, it is really hard to let go and let the machine do it for you.

Yeah, that might be a good starting point for an ultimate insulin dosing expert :wink:

1 Like

yep! I find that if I just had numeric values, it would be just as good. I only care if I want +50% or -30% or whatever – if it’s because Samson’s sick or because he just swam doesn’t matter so much because there’s currently no way to review and do data analysis based on those overrides. I also find some of the icons sort of confusing; I’m just not sure what they’re supposed to be.

2 Likes

For me personally, I think the overrides in JoJo Beeps are way easier. Customizing during the Loop build - not so much. I had ran into a glitch trying to customize.

1 Like