Beitrag für 1.13, 18.07.2022 - WakeLock, Gadgetbridge Fixes
Beitrag für 1.12, 22.06.2022 - Charts Aussehen, Gadgetbridge
Beitrag für 1.11, 28.04.2022 - Android 11/12 Einstellungen, Generic Broadcast, kleinere Korrekturen
Beitrag für 1.9, 08.04.2022 - Android 11 Fix
Beitrag für 1.8, 01.04.2022 - MicroG Support, experimentelle xDrip Anbindung, bessere Tasker/Kustom Anbindung
Was ist es?
"Free Three" ist ein XPosed/LSPosed Modul für die Libre 3 App:
- Es setzt den aktuellen Zuckerwert in die permanente Benachrichtung von Libre 3. Damit sieht man den aktuellen Wert auch am Sperrbildschirm.
- Es erlaubt das exportieren des aktuellen Wertes an die Kustom Apps KWGT (Widgets) und KWLP (Live Wallper), an Tasker und xDrip. Damit kann man den Wert in eigene Widgets einfügen und viel viel mehr.
- Es sorgt dafür dass die Libre 3 App auch auf Smartphones mit MicroG startet.
Unterstützte App Versionen- Libre 3
- 3.3.1 (Alle Sprachen)
Eine Unterstützung von 3.4.0 und späteren Versionen ist derzeit nicht möglich. Die Libre 3 App erkennt das geladene LSPosed Modul und bricht den Start ab. Dies betrifft nicht nur Free Three, sondern alle XPosed/LSPosed Module. Diese Prüfung findet im nativen Teil der App statt. Bitte die 3.3.1 herunterladen (von Drittseiten) und diese verwenden bis dies nicht mehr möglich ist.
Eventuell wird es soweit kommen dass die 3.3.1 nicht mehr verwendet werden kann. Dies kann entweder durch die LibreView Anbindung passieren, dass die Daten von LibreView nicht mehr akzeptiert werden, oder durch die Sensoren selbst, dass diese nur noch mit einer aktuellen Libre 3 App Version aktiviert werden können.
Unterstützte App Versionen - Dexcom G7
- 1.3.3 (Alle Sprachen)
Was brauche ich?
Ein gerootetes Smartphone mit Magisk und LSPosed (oder einer anderen XPosed Implementierung). Siehe mein vorheriges Thema wie man Libre 3 auf einem gerooteten Smartphones zum laufen bekommt.
Wie installiert man es?
Man lädt das aktuelleste APK herunter und installiert dieses. Bei der Installation wird man eventuell darauf hingewiesen dass der Autor der Software, beziehungsweise die Software selbst, unbekannt sind, das ist zu erwarten. Nach der Installation muss man in XPosed/LSPosed das Modul aktivieren, auch für die Libre 3 App selbst. In den Einstellungen des Moduls/der App muss man dann nur noch die Features einschalten welche man will. Ein erzwungener Neustart der Libre 3 App ist erforderlich damit dass neu installierte Modul geladen wird.
Bis der aktuelle Wert angezeigt bzw. exportiert wird nach dem Neustart der App, kann bis zu einer Minute dauern, da dies nur geschieht wenn ein neuer Wert vom Sensor empfangen wird. Ebenfalls wird im Moment nur der "mg/dL" Wert exportiert.
In Magisk darf der Modus "Enforce DenyList" nicht aktiviert sein, weil in diesem Fall alle Root-Änderungen, inklusive XPosed/LSPosed, blockiert werden.
Notizen zur Anbindung für Kustom Apps und Tasker.
In den Kustom Apps kann man den aktuellen Wert mit dem Code $br(libre3, glucose_in_mgdl)$ erhalten. Ebenfalls wird er Zeitstempel von diesem Wert zur Verfügung gestellt $br(libre3, local_date)$.
In Tasker muss man einen "Intent Receiver" einrichten mit dem Wert "net.dinglisch.android.taskerm.libre3", darin kann man dann die Variablen %libre3_glucose_in_mgdl und %libre3_local_date verwenden, zum Beispiel diese dann in globale Variablen weitersetzen.
MicroG Support
Beim starten prüft Libre 3 ob der Play Store installiert ist, und wenn nicht beendet sich die App mit der Meldung "Bitte installieren Sie Libre 3 aus dem Google Play Store". Das Ergebnis der Play Store Prüfung wird nun überschrieben wodurch Libre 3 auch auf Systemen mit MicroG laufen sollte.
Experimentelle xDrip Anbindung
Es gibt nun die Möglichkeit die minutengenauen Werte direkt an xDrip zu senden. Auf xDrip Seite wird hierfür die Schnittstelle für die "gepatchte" Libre 2 App verwendet. Die Anbindung ist als experimentel zu betrachten. Ebenfalls gibt es die Möglichkeit verpasste Werte nachzusenden, "Backfilling", dies wird aber von xDrip noch nicht vollständig unterstützt. Ein Mitglied der Loopercommunity hat ein praktisches Paket geschnürt mit allem was man braucht inklusive Anleitung.
An dieser Stelle muss ich sagen das ich mit xDrip (Projekt oder Software) nichts zu tun habe, und daher nicht für die Funktionalität die sich daraus ergibt sprechen kann. Das Modul sendet lediglich die Werte, was dann in xDrip damit passiert weiß ich nicht, ich habe nur das Senden geschrieben und ich verwende kein xDrip.
mmol/L als Einheit
Variablen sind alle auch mit mmol/L als Einheit verfügbar. ACHTUNG: Libre 3 arbeitet intern nur mit mg/dL, die mmol/L Werte werden vom Modul ausgerechnet und werden nicht von der Libre 3 App bereitgestellt! Diese werden anhand eines einstellbaren Faktors aus den mg/dL ausgerechnet!
Entfernt dies den LibreView Kontenzwang?
Nein, denn es gibt keinen Zwang. Beim einrichten der App wird man nach einem LibreView Konto gefragt, und in diesem Dialog hat man die Möglichkeit die Einrichtung zu überspringen, also Libre 3 nur Offline zu verwenden.
Falls jemand die LibreView Anbindung entfernt (eventuell auch basierend auf meinem Modul) so muss ich klarstellen das ich damit NICHTS zu tun habe! Ich bin entschieden gegen die Enternung der LibreView Anbindung in jeglicher Hinsicht aus mehreren, unterschiedlichen Gründen!
Gibt es eine gehackte App Variante (für nicht gerootete Smartphones)?
Nein, und es wird so schnell auch keine geben. Beim starten wird die App/das APK überprüft ob dieses verändert wurde, diese Prüfung ist unumgänglich.
Wie funktioniert es?
XPosed/LSPosed ist ein Framework welches er erlaubt zusätzlichen Code in eine App dazuzuladen. Damit hat man dann von diesem Modul aus kompletten Zugriff auf die laufende App, kann dort alles verändern oder beeinflussen. Ich habe einen "recht guten Aufhänger" in der Libre 3 App gefunden um den aktuellen Wert abzugreifen. Natürlich sind große Teile der App unkenntlich und unleserlich gemacht, also es ist nicht einfach irgendetwas darin zu finden.
Der Quellcode selbst wird im Moment aus Bequemlichkeitsgründen nicht veröffentlicht. Dieser ist aber diversen Mitgliedern der Community zugänglich, der Quellcode kann also nicht verloren gehen. Desweiteren ist das APK nicht obfusziert, was es immer erlauben sollte einen neuen Stand aufzubauen.