Automatisierung mit Drittanbieter-App Android Automate

This article has been written before AAPS version 2.5. There is an automation plugin in AAPS itself with AAPS version 2.5. For some, this here might be still useful, but should only be used by advanced users.

As AAPS is a hybrid closed loop system, some user interaction is necessary though (e.g. tell the loop that you are walking, eating soon, lying on the sofa…). Frequent manual user inputs can be automated via external tools like Automate or IFTTT to extend the recent AAPS functionality.

Android Automate App

Mit der kostenlosen Android™ Anwendung Automate kannst du verschiedene Aufgaben auf deinem Smartphone automatisieren. Du kannst deine Automatisierungen mit Flowscharts erstellen, deinem Gerät Automatismen bei Bluetooth, WLAN, NFC erlauben oder Aktionen auslösen wie das Versenden von SMS, E-Mail basierend auf deinem Standort, der Tageszeit oder einem anderen „Trigger“. Du kannst fast alles auf deinem Gerät automatisieren, Automate unterstützt sogar Plug-Ins für Tasker und Locale.

Mit diesem Tool kannst du leicht Workflows erstellen, mit denen dein Diabetes basierend auf mehreren Bedingungen automatisch behandelt wird nach dem Prinzip „Wenn dies… und dies… aber nicht dies…, dann mache das… und das…“. Es gibt Tausende von Möglichkeiten, die du konfigurieren kannst.

Until now it is necessary to loop via Nightscout Profile, as Automate executes the commands via HTTP-request directly in your nightscout website that subsequently syncs it to your AAPS app.

Offline looping (direct communication between Automate and AAPS app) is not supported yet, but technologically possible. Vielleicht wird es in Zukunft dafür eine Lösung geben. Wenn du einen Weg dazu gefunden hast, füge ihn bitte dieser Dokumentation hinzu oder kontaktiere einen Entwickler.

Grundvoraussetzungen

Automate App

Download Android Automate in Google Play Store or at https://llamalab.com/automate/ and install it on your smartphone where AAPS runs.

Tippe in Automate auf das Hamburger Menü am Bildschirm oben links > Settings > Wähle ‚Run on system startup‘. Dadurch werden deine Workflows automatisch nach dem Systemstart ausgeführt.

Automate HTTP request

AAPS

In AAPS, tap on 3 dots menu on the upper right screen and go to Preferences > NSClient > Connection settings > Uncheck ‚Use WiFi connection only‘ and ‚Only if charging‘ as the automated treating does only work when AAPS has an actual nightscout connection.

Nightscout connection preferences

In AAPS, tap on 3 dots menu on the upper right screen and go to Preferences > NSClient > Advanced Settings > Uncheck ‚NS upload only (disabled sync)‘ and ‚No upload to NS‘.

Beachte die Sicherheitsüberlegungen und sei besonders vorsichtig, wenn Du eine Insight-Pumpe verwendest.

Nightscout download preferences

Workflow-Beispiele

Beispiel 1: Wenn Aktivität (z.B. Gehen oder Laufen) erkannt wird, dann setze ein hohes TT. Und wenn die Aktivität endet, dann warte 20 Minuten und brich anschließend das TT ab

Dieser Workflow wird die Smartphone-Sensoren (Pedometer, Gravitationssensor…) überwachen, die das Aktivitätsverhalten erkennen. Wenn Aktivitäten wie Walken, Laufen oder Radfahren erkannt werden, setzt Automate ein benutzerdefiniertes hohes temporäres Ziel für die eingestellte Zeit. Wenn die Aktivität endet, erkennt das dein Smartphone, wartet 20 Minuten und setzt dann den Zielwert zurück auf den im Profil hinterlegten Standardwert.

Lade das Automate script herunter https://llamalab.com/automate/community/flows/27808herunter.

Bearbeite den „Sling“, indem du auf das Stift-Symbol tippst > Flowchart

Automate sling

Passe den Workflow nach deinen Wünschen wie folgt an:

Automate sling

  1. = Hohes TT setzen

  2. = Zurück zum normalen Ziel 20 Minuten nach dem Ende der Aktivität

1 Automate sling

2 Automate sling

Request-URL: Deine NS-URL mit der Endung „/api/v1/treatments.json“ (z.B. https://my-cgm.herokuapp.com/api/v1/treatments.json)

Request content:

  • targetTop / targetBottom: Der hohe TT-Wert (der obere und untere Wert sollten identisch sein)

  • duration: Die Dauer des hohen TT (nach Zeitablauf wird der Loop auf das reguläre Profilziel zurückgehen, es sei denn, die Aktivität geht weiter).

  • secret: Deine API SHA1 Hash. Das ist NICHT dein API-Key! Du kannst deinen API-Key in das SHA1 Format konvertieren unter http://www.sha1-online.com/

Save: Tippe auf „Done“ und auf den Haken

Workflow starten: Tippe auf die Play-Taste

Beispiel 2: Wenn xDrip+ einen „BG hoch“-Alarm meldet, dann setze ein niedriges TT für … Minuten.

Dieser Workflow wird die xDrip+ Benachrichtigungen überwachen. Wenn xDrip+ einen nutzerspezifischen „BG hoch“-Alarm ausgelöst hat, dann setzt Automate für die angegebene Zeit ein benutzerdefiniertes niedriges temporäres Ziel. Nach Zeitablauf wird ggf. eine erneute Warnung die Dauer des niedrigen TT verlängern.

xDrip+

Erstens musst du in xDrip+ eine „BG-hoch“-Warnung wie folgt einrichten:

xDrip+ alert settings

Alert name: (Achtung!) Dieser Name ist für das Auslösen des Triggers unerlässlich. Er sollte einzigartig und nicht mit anderen Warnnamen vergleichbar sein. Beispiel: „180alarm“ sollte nicht neben „80alarm“ existieren.

Threshold: BG-Wert, der den hohen Alarm auslösen soll.

Default Snooze: Gib hier an, für wie lange du das niedrige temporäre Ziel setzen wirst, da die Warnung sonst erneut auftauchen wird und dann die Dauer des niedrigen temporären Ziels verlängert.

xDrip+ alert settings

Automate

Zweiens, downloade das Automate script https://llamalab.com/automate/community/flows/27809.

Bearbeite den „Sling“, indem du auf das Stift-Symbol tippst > Flowchart

Automate sling

Passe den Workflow nach deinen Wünschen wie folgt an:

Unter „Notification posted?“ musst du als „TITLE“ den Namen derjenigen xDrip+ Warnung eingeben, die den Trigger auslösen soll. Am Wortanfang und am Wortende musst du als Variable einen * hinzufügen.

Automate sling

Automate sling

Request-URL: Deine NS-URL mit der Endung „/api/v1/treatments.json“ (z.B. https://my-cgm.herokuapp.com/api/v1/treatments.json)

Request content:

  • targetTop / targetBottom: Der hohe TT-Wert (der obere und untere Wert sollten identisch sein)

  • duration: Die Dauer des hohen TT (nach Zeitablauf wird der Loop auf das reguläre Profilziel zurückgehen, es sei denn, die Aktivität geht weiter). Es ist empfehlenswert, dass du hier dieselbe Dauer verwendest wie für „Standard snooze“ in den Einstellungen der xDrip+Warnung

  • secret: Deine API SHA1 Hash. Das ist NICHT dein API-Key! Du kannst deinen API-Key in das SHA1 Format konvertieren unter http://www.sha1-online.com/

Save: Tippe auf „Done“ und auf den Haken

Workflow starten: Tippe auf die Play-Taste

Beispiel 3: Kann von dir selbst hinzugefügt werden!!!

Please add further workflows by uploading .flo file to Automate community (under the keyword ‚Nightscout‘) and describe it here by doing Pull Request on AndroidAPSDocs repository.

If this, then that (IFTTT)

Zögere nicht, mit einem PR ein Tutorial hierfür hinzuzufügen…