Artikelserie: Closed Loop; 7. Lernvorgang starten und verifizieren der Parameter

7. Lernvorgang starten und verifizieren der Parameter

nach dem ich nach 2 Monaten immer noch nicht dazu gekommen bin und auch keine wirkliche Lust hatte, wollte ich im Urlaub nun mal den Artikel schreiben.

Aber ich habe zum Glück festgestellt, das in der AndroidAPS Doku, bereits die einzelnen Punkte erklärt sind von den Objectives/Lernvorgang und ich daher einfach hier auf diese verweisen kann:

 

https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Usage/Objectives.html

 

Falls sich die URL dann auf „finale“ noch ändert, darf ich nur nicht vergessen, diese hier auch zu aktualisieren 🙂

 

 

Vorheriger Artikel:  6. AAPS und SafetyParamter (erweiterte Einstellungen)          |             Übersicht Artikelserie          |             kommt bald

Artikelserie: Closed Loop; 5. AndroidAPS konfigurieren

5. AndroidAPS konfigurieren

Also erst einmal müssen wir uns die App erstellen, damit wir diese überhaupt auf dem Handy installieren können.

Da gibt es mehrere Wege und auch Skripte. Ich hab einmal ein Video erstellt (nicht schimpfen, ist mein erstes dieser Art (Bildschirmaufnahme)), wo ich grob zeige, was man klicken und machen muss.

Wichtig. Je nach System und aktueller Version (dev/Master/xxx), kann es anders sein und das Video damit schon in ein paar Tagen oder Wochen nicht mehr so funktionieren.

Bitte dann selber googlen und im Wiki nach lesen oder in den jeweiligen Gruppen/Foren/Chats nachfragen.

 

Bitte verwende folgende Anleitung, da das Video zu alt und daher nicht mehr für die aktuelle Version gültig ist!

https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Installing-AndroidAPS/Building-APK.html

zum Updaten, bitte folgende Anleitung nutzten:

https://androidaps.readthedocs.io/en/latest/CROWDIN/de/Installing-AndroidAPS/Update-to-new-version.html

 

 

Bei AAPS gibt es praktisch die gleichen Variablen wie bei OpenAPS,  da AAPS auf OpenAPS basiert.

Die wichtigsten haben wir ja bereits unter 2.2 kennen gelernt:

Artikelserie: Closed Loop; 2. Was braucht man (Hardware/Software/Faktoren)?

 

Ansonsten hier einmal die wichtigsten Variablen im Config-Builder durch. Die meisten zeigen dann in der blauen Menüleiste einen Tab an oder eben nicht, wenn man rechts bei dem Auge die Checkbox aktiviert/deaktiviert.

In der linken Seite kann man die Option auswählen oder aktivieren/deaktivieren.

 

Aufbau:

Erst Bild-Nummer und ob es das linke oder rechte Bild ist (evtl. packe ich die Zahlen noch direkt mit ins Bild… später…)

Dann die Bilder, dann die Beschreibung zu den Punkten.

 

1. links, 2. rechts

android aps config builderaaps config builder insulin

 

1. Profil (Basal, IC, ISF…):

Beim Config-Builder, kann man als erstes das Profil auswählen (Bild 1, links).

Hier wird aktuell empfohlen ein locales  (Lokales Profil) zu nehmen. Da gibt man dann seine BasalRate usw. direkt in AAPS ein.

Da ich meine Profile in Nightscout verwalte und anpasse, nutze ich das Nightscout-Profil. Hierbei gibt man seine BasalRate usw. in Nightscout ein.

 

2. Insulin Profil (Wirkkurve):

Beim zweiten Punk (Bild 2, rechts) kann man das Insulin Profil auswählen.

Ich verwende hier z.B. „Free-Peak Oref„, da kann man den Zeitpunkt der maximal Wirkung vom Fiasp angeben (bei mir 50 Minuten), default ist 75.

Dieses Profil bildet auch die Wirkkurve vom Fiasp besser ab, da es zwar auch 5-6 Stunden wirkt, aber nach 3 Stunden die Wirkung nur noch sehr gering, aber immer noch Insulin vorhanden ist (auch wenn es dann z.b. nur noch 0,5ie sind).

„Rapid-Acting Oref“ ist für Humalog und Novorapid (die schnellen Insuline).

„Ultra-Rapid Oref“ ist für Fiasp. Allerdings ist die Abildung da nicht ganz so gut.

Weitere Infos zu den Wirkprofilen gibts auch unter http://openaps.readthedocs.io/en/latest/docs/While You Wait For Gear/understanding-insulin-on-board-calculations.html

 

 

————————————

3. links, 4. rechts

aaps config builder bz quellenaaps config builder pumpe

 

3. BZ-Quellen (woher kommt der aktuelle Wert):

Bei den BZ-Quellen, kann man auswählen woher die Werte kommen.

Die meisten werden hier „xDrip“ nehmen, da xDrip die meisten cgms/bz-Quellen auslesen kann und entsprechende Alarme usw. hat und einfach wie aaps, einfach toll und super ist!

Ansonsten kann man die Werte auch online von Nightscout herunter laden lassen oder über Glimp oder einer gepatchten Dexcom G5 App verwenden.

 

4. Pumpe

Wenn man eine Dana-Pumpe hat, kann man hier das entsprechende Model auswählen, damit die richtigen Treiber geladen und verwendet werden.

Wer noch keine Dana R oder RS Pumpe hat, kann hier z.B. für OpenLoop die Virtuelle Pumpe oder ICT auswählen.

 

 

————————————

5. links, 6. rechts

aaps config builder sensitivitätaaps config builder aps ama ma meal assittent

5. Empfindlichkeitserkennung

Bei dieser Option kann ich gerade die Details nicht so wirklich erklären.

Aber die Option „Durchschnittliche Sensitivität“ klappt bei mir mit Fiasp sehr gut. Bei Humalog war die „Sensitivität Oref0“ besser.

 

6. APS

Die APS-Option ist in diesem Fall „Meal Assits (MA)“ und „Advanced Meal Assits (AMA)“.

Der MA reagiert nicht so stark nach der Eingabe von KH und IE (Essen) und ist meist bei sehr ungenauen Angaben besser.

Der AMA kann deutlich früher reagieren. Sprich wenn ich spritze und mein BZ geht aber schon runter, dann stellt er das Basal aus oder gibt schon mehr, wenn der BZ zu schnell nach oben geht. Da ist eine höhere Genauigkeit der KH gut. Also wenn man sich zu sehr verschätzt, muss man unter Umständen manuell eingreifen.

Da muss man auch einmal einige Zeit beide testen und sich in Nightscout/Careportal markieren, was man gegessen hat und kann dann so gut Vergleichen, welcher besser für einen passt.

 

 

 

————————————

7. links, 8. rechts

aaps config builder looopaaps config builder zielsetzungen (objectives)

 

7. Loop

Hier kann man allgemein aktivieren/deaktivieren, ob der Loop-Modus aktiv sein soll.

 

8. Beschränkungen

Diese braucht man nur am Anfang um das Lernprogramm (Objectives) durchzuführen.

Dazu ist auch Nightscout nötig. Eine kostenlose Instanz kann man sich z.b. auf https://ns.10be.de/de/ holen und dafür verwenden.

Die einzelnen Objectives/Zielsetzungen muss man dann nacheinander durch führen. Dazu fängt es z.B. an, das man erst einmal die Parameter setzt (kommt im nächsten Artikel) und dann im openloop startet um zu verstehen, wie das System überhaupt arbeitet.

 

 

————————————

9. links, 10. rechts

aaps config builder behandlungenaaps config builder der rest

9. Behandlungen

Dort werden die Eingaben, welche man gemacht hat angezeigt.

Z.B. Wenn man den Katheter vor gefüllt oder ein Bolus abgegeben hat.

 

10. Der Rest.

Hier kann man einstellen, ob z.B. der aktions-Tab (TBR setzten, Profilwechseln, Vorfüllen) angezeigt werden soll.

Das Careportal, wo man Daten eintragen kann, die dann in Nightscout hoch geladen werden. Z.B. Insulin Reservoir-Wechsel, Sport etc.

Sms-Kommukation, ob man AAPS über sms bedienen darf.

Bei Essen, wird die Food-Tabelle von Nightscout angezeigt. Wenn man dort allerdings nichts eingetragen hat, ist diese auch in aaps leer.

Die Option Wear zeigt dann im Tab die Möglichkeit an, die ganzen Daten noch mal an die Uhr zu senden, wenn diese z.B. keine aktuellen Werte anzeigt oder das Watchface nicht aktualisiert hat. Ebenso kann man vom Handy aus die das Einstellungs-Menü auf der Uhr öffnen lassen.

xDrip-Statuszeile kann man aktivieren, wenn man z.B. kein AAPS Watchface, sondern ein xDrip-Watchface verwendet. Dann kann xDrip in der weißen Statuszeile, wo auch der Batteriestand, wie alt der angezeigt Wert ist usw. auch den Status von AAPS anzeigen soll. Dabei wird einmal der aktuelle %-Satz/IE angezeigt, wenn aaps gerade mehr oder weniger Insulin gibt, sowie wie viel IOB, BR usw. aktiv sind.

Laufende Benachrichtigung sorgt dafür, das z.B. auf dem Sperrbildschirm oder oben in der Taskleiste vom Handy den aktuellen Wert und Status anzeigt.

Nightscout-Client zeigt einen Tab an, wo man die Logfile vom nightscout-Client sieht und die Queue usw. Also wenn z.B. das wlan nicht ging und man kein Netz hatte, kann man dort sehen, das „xxx hundert“ Einträge in der Queue sind. Das kann auch auf ein Problem bei Nightscout oder falsche URL/Api-Key hindeuten.

 

Die Loop-Parameter erläutere ich dann im nächsten Artikel.

 

 

Vorheriger Artikel:  4. Installation/Nutzung von Nightscout          |             Übersicht Artikelserie          |             6. AAPS und SafetyParamter (erweiterte Einstellungen)

Artikelserie: Closed Loop; 4. Installation/Nutzung von Nightscout

4. Installation/Nutzung von Nightscout

Auf die komplette Installation von Nightscout, gehe ich hier jetzt nicht näher ein.

Dafür kann man folgende Anleitungen nutzten, die man auch einmal lesen sollte:

http://www.nightscout.info/wiki/welcome

https://nightscout.gitbooks.io/user_guide/content/de/

Oder man nutzt den Dienst von https://ns.10be.de/de/ wo ich ein Dienst (shared) gebaut habe.

Das importieren von existierenden Nightscout-Server kann allerdings bei kaputten Profilen zu Problemen führen.

Ebenso ist die automatische Integration von autotune noch nicht fertig.

 

Also zurück zu Nightscout.

Eigentlich sprechen wir hier über Nightscout’s „cgm-remote-monitoring“, was ein in JavaScript geschriebener Server ist. Die Dateien werden daher per node.js ausgeführt, was die Serverseitige Ausführung von JavaScript ermöglicht.

Wenn man das erste mal auf seine Nightscout-Seite geht, wird man zu /profile weitergeleitet, wo man die ganzen Faktoren wie ISF, IC, BR-Rate usw. eingeben kann.

Wenn man sich noch nicht eingeloggt hat mit seinem API-Passwort, muss man dies erst einmal tun:

 

 

Danach kan man dann die Werte und  Einstellungen speichern.

Sobald man dann in xDrip, Glimp, LibreAlarm, OpenAPS etc. die URL und den API-Key/Token eingegeben hat und die Werte hoch geladen wurden, erscheinen diese auf der Startseite:

 

 

 

Man kann in Nightscout dann sehr viel einstellen. Was angezeigt werden soll oder ob es Alarm schlägt, wenn ein Wert zu hoch/niedrig ist.

 

 

 

Ebenso kann man für seine Werte die bei den anderen Programmen auch, sich die Perzentile-Auswertung (AGP):

 

 

 

 

 

Oder auch für die Tage insgesamt:

 

 

 

 

 

 

 

 

 

 

 

Oder auch nur allgemein die einzelnen Tage:

 

 

 

Es gibt noch mehr, das kann man aber selbst austesten 🙂

Für z.B. später mit AndroidAPS zu loopen, braucht man Nightscout, damit man das Lernprogramm absolvieren kann.

 

Dann gibt es z.B. noch das Autotune, welches versucht anhand der Nightscout-Daten und seinem Profil (muss man aktuell noch manuell erstellen), zu prüfen und zu ermitteln, ob die Faktoren und BasalRate noch korrekt ist:

Eine Erklärung dazu, wie die Werte zu interpretieren sind, ist hier erklärt (leider englisch):

https://openaps.readthedocs.io/en/2017-07-13/docs/walkthrough/phase-4/understanding-autotune.html

 

 

 

 

 

 

 

 

 

 

 

Nightscout ist echt super. Man kann auch einzelne Tokens erstellen, das man z.B. den kompletten Zugriff „verbietet“ und bestimmte Token bestimmte Berechtigungen haben (ReadOnly für  den Doc, CarePortal für z.B. die App 1 oder Admin-Token für App2).

 

 

Danach trägt man dann in xDrip, AndroidAPS, Glimp oder der entsprechenden App einfach https://api-token@deine-url.tld:port/api/v1/ ein, bzw. nur https://deine-url.tld:port/ je nach App.

 

 

Vorheriger Artikel:  3. Wie ermittel ich die benötigten Faktoren?          |             Übersicht Artikelserie          |             5. AndroidAPS konfigurieren (Config-Cuilder)

Artikelserie: Closed Loop; 2. Was braucht man (Hardware/Software/Faktoren)?

2. Was braucht man dafür?

Man braucht mehrere Sachen.

Wichtig, ich werde hier nur über die Variante mit der Dana R berichten. Die OpenAps Varianten werden ich erwähnen, aber nicht weiter drauf eingehen.

Einmal die Hardware:

  • Ein CGM, welches man mit Glimp/xDrip+ oder eigener Software auslesen kann (z.B. ein Dexcom) oder
  • ein Freestyle Libre, der mit einem Transmitter wie Smartwatch3, LimiTTer, BlueReader, SweetReader, Bluecon, Transmitter Mini oder ähnlichen ausgelesen wird.
  • Eine kompatible Pumpe. Da gehen ältere Medtronic Pumpen oder die Dana Diabcare R, bzw. dann bald die Dana Diabcare RS und vielleicht auch die Combo
  • Ein Handy mit Android 4.4 oder höher. Besser natürlich 6 oder 7

Am Ende sieht die komplette Hardware, die ich mit mir rum trage dann so aus:

 

Meine Diabetes Hardware

 

2.1 Die Software

2.1.1 BZ-Quellen

Einmal Braucht man eine BZ Quelle. Dafür eignet sich xDrip+ oder Glimp. Ich bevorzuge xDrip+, da ich es selbst anpassen kann (Quellcode ist offen) und man kann sehr, sehr viel mehr einstellen.

xDrip+ ist so verdammt mächtig und alleine die Anzeige des BZ (kalibriert) auf der Uhr am Handgelenk mit dem Trend, macht das Leben so viel leichter.

Zum Beispiel wurde auf dem Ziffernblatt/Uhr sehr viel geändert, was bei mir auch nach dem deaktivieren die Laufzeit der Uhr am Handgelenk auf unter < 20h verringert hat. Dadurch, dass mein Java nicht so gut ist, habe ich eine Version von Mai/Juli oder so genommen, wo der Akku-Verbrauch noch gut war und die benötigten Änderungen, wie z.B. für den BlueReader oder andere BugFixes, dank Changelogs/Git rein einfach gepatcht.

Wenn man nun natürlich 50 Patches auf einmal einspielt, dann kann man (als unerfahrener Java Nutzer), dann schon mal dreimal so lange wieder zum einzelne Patches rückgängig machen brauchen.

 

So, nun hat man also Glimp oder xDrip+ installiert (ich rede hier jetzt immer nur von xDrip+). Dort dann die entsprechende Quelle ausgewählt und kann dann unter „Einstellungen“, „Inter-App Einstellungen“, “ Lokaler Broadcast“ aktivieren. Bei mir sind alle Punkte aktiv, bis auf der letzte:

Da ich nur in xDrip+ kalibriere und nicht in den anderen Apps, sollen diese unter Umständen (bei Fehlbedienung…) die Kalibrierung von xDrip nicht kaputt machen.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.1.2 AndroidAPS

AndroidAPS ist eine verdammt super App. Ohne diese App, würde die Steuerung so einfach nicht funktionieren.

AndroidAPS ist die Software, welche sich dann zur Pumpe verbindet und die temporäre Basalrate, bzw. den Extended Bolus erhöht oder runter stellt.

Je nach den Einstellungen in AndroidAPS selbst, kann man damit immer perfekte Nächte schaffen.

Dadurch, dass ich mich zu ungesund ernähre, ist mit der ICT bei mir nicht möglich, mehr als 50% im Zielbereich zu schaffen.

Mit AAPS schaffe ich mit dem gleichen Lebensstill mindestens 75 bis 90% im Zielbereich.

Dazu kann man das Insulin einfach per SmartWatch abgeben und muss dadurch nicht mehr das Handy raus holen, bzw. kann in der randvollen S-Bahn trotzdem korrigieren, bzw. essen.

 

Wie man AndroidAPS kompiliert ist im Wiki sehr gut beschrieben:

https://github.com/MilosKozak/AndroidAPS/wiki/Home_de

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2 Faktoren

Es gibt ein paar Faktoren, die man zu einer passenden Basalrate braucht. Dies sind folgende:

Damit kann man dann eigentlich schon los legen.

Es gibt noch einige weitere Einstellungen, die man dann im Feintuning anpassen und einstellen kann.

Dazu gibt es unterschiedliche Algorithmen die z.B. die Sensitivität ermitteln und anpassen. Je nach dem, welchen man verwendet, ist es unabdingbar, die gegessenen Kohlenhydrate sehr genau einzugeben, ansonsten ermittelt der Algorithmus falsche Werte.

Ich fahre mit der „Durchschnittlichen Sensitivität“ am besten.

Beim APS gibt es zwei Varianten. Einmal OpenAPS MA und einmal OpenAPS AMA der AMA, kann z.B. früher beim Bolus abgeben reagieren.

Also das essen braucht z.B. länger, weil es sehr fettig  oder langsam ist, so stellt der Algorithmus das Insulin bereits aus.

Oder wenn der Blutzucker direkt in die Höhe schießt, gibt er auch direkt mehr Insulin.

Da habe ich z.B. festgestellt, das bei ganz schnellen Kohlenhydrate wie RedBull mit Zucker, ist es dann zu schnell und somit zu viel Insulin am Wirken. Da berechne ich dann nicht die ganzen KH, sondern nur 200ml statt 250. Damit komme ich dann sehr gut hin.

 

Im nächsten Artikel beschreibe ich dann, wie man die einzelnen Faktoren ermittelt und was die einzelnen Variablen in AAPS bedeuten und für was sie da sind.

 

Es fällt mir nicht so leicht das alles schriftlich zu schreiben und zu erklären. Mündlich ist das viel einfacher.

 

 

Vorheriger Artikel:  1. Was ist ein Closed Loop…?          |             Übersicht Artikelserie          |             Nächster Artikel: 3. Wie ermittle ich die benötigten Faktoren?

Artikelserie: Closed Loop

In dieser Serie von Artikel, möchte ich erklären, was ein Closed Loop System überhaupt ist, was man sich darunter vorstellen kann, was es braucht, was es kann, was es nicht kann und was für Variablen man ermitteln muss.

Es handelt sich hierbei um ein Do It Yourself (DIY) ClosedLoop, von daher ist jeder selbst für die Konfiguration, Einstellungen, Fehler usw. verantwortlich.

nightscout ansicht

Ich übernehme keine Haftung für falsche Handhabung! Falls du dir nicht sicher bist, frage in den jeweiligen Chats, Gruppen, Foren nach oder schau in der/das Doku/Wiki rein!

 

 

Wenn man nicht die benötigten Faktoren ermitteln möchten (wie ein Basalraten Test, mehrere…), dann bitte nicht weiter lesen und hier abbrechen!

Wenn man sich damit beschäftigen möchte und bereit ist, praktisch 3 Wochen lang jeden Tag ein Basalraten Test zu machen und weiß was ein cgm/fgm ist, wo der Unterschied zwischen dem GZ und BZ ist, dann herzlich willkommen 🙂

 

Inhaltsverzeichnis:

  1. Was ist ein Closed Loop, was versteht man darunter und was macht es?

  2. Was braucht man (Hardware/Software/Faktoren)?

  3. Wie ermittle ich die benötigten Faktoren?

  4. Installation/Nutzung von Nightscout

  5. AAPS konfigurieren

  6. APS und Safety Parameter

  7. Lernvorgang starten und verifizieren der Parameter

  8. Optimierungsmöglichkeiten (Autotune)

 

Sobald die einzelnen Punkte fertig geschrieben sind, werden diese hier dann verlinkt.

Ein Zeitplan dafür gibt es nicht. Also einfach auf Twitter, FB usw. mal schauen, ob es was neues gibt 🙂

 

Und auch alle externen Quellen:

Linkliste:

kommt bald