Beiträge von Angemessener Specht 67

    Beitrag für die neueste Version (Version 1.19, 14.08.2023) - Version 1.19 - mySugr Updates


    Beitrag für 1.18, 31.07.2023 - mySugr Updates

    Beitrag für 1.17, 08.05.2023 - mySugr Updates, Bugfixes

    Beitrag für 1.16, 17.04.2023 - G6 Support, mySugr Erweiterungen, Libre 3 Glucose Database

    Beitrag für 1.15, 30.01.2023 - Libre 3 Maximaler Y Wert in Charts, mySugr Support, Libre 3 Automatische Uhrzeit Prüfung umgangen

    Beitrag für 1.14, 08.12.2022 - Verbesserte Oberfläche, Gadgetbridge Verbesserungen, Dexcom G7

    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

    Beitrag für 1.2, 26.02.2022

    Was ist es?

    "Free Three" ist ein XPosed/LSPosed Modul mit Erweiterungen für die Libre 3, Dexcom G6/G7 und mySugr App.

    Libre 3 Erweiterungen

    • Anzeigen des Glucose-Werts in der permantenten Notification der App.
    • Überspringen des Abbott Logos beim starten der App.
    • Anpassen des Aussehens der Chart (Liniendicke, Punktgröße und maximaler Y-Wert).
    • Abschalten der WakeLocks.
    • Anbindung von Third-Party Apps:
    • Umgehen des Play-Store Checks (MicroG-Support).
    • Umgehen des NTP Checks.

    Dexcom G6 Erweiterungen

    • Abschalten des Device-Compatbility-Checks.
    • Abschalten der WakeLocks.

    Dexcom G6 Erweiterungen

    • Abschalten des Device-Compatbility-Checks.
    • Abschalten der WakeLocks.

    mySugr Erweiterungen

    • Verstecken von GUI-Elementen.
    • Automatisches ausfüllen von Feldern in neuen Einträgen.

    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.

    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.

    Mit dem neuesten Magisk (v24) ist es nun möglich Libre 3 auf gerooteten Smartphones zum Laufen zu bringen. Getestet ist dies mit LineageOS 17.1 und Open GApps. Hier gebe ich jetzt eine kurze Anleitung wie man das macht:

    Was brauche ich dafür?

    1. Magisk v24 oder neuer
    2. Shamiko Magisk-Modul

    Was man machen muss

    1. "Verstecken" des Magisk-Recovery-Scripts. Dieses befindet sich in /system/addon.d/99-magisk.sh und sollte umbenannt werden in etwas das nicht das Wort "Magisk" entält. Die führende Zahl sollte behalten werden. (Als Anmerkung, das hilft auch bei der TK-App.)
    2. Umbenennen/Neuinstallieren des Magisk Managers mit einem zufälligen Namen, hierfür gibt es eine Option in den Magisk Manager Einstellungen.
    3. Libre 3 in den Magisk Manager Einstellungen auf die "Deny List" setzen.
    4. Ebenfalls in den Magisk Manager Einstellungen den Zygisk Modus einschalten.

    Das war's, aber hier sollte die App jetzt funktionieren, eventuell ist ein Neustart oder das Löschen der Libre 3 App-Daten erforderlich.


    In Magisk darf der Modus "Enforce DenyList" nicht aktiviert sein, weil in diesem Fall alle Root-Änderungen, inklusive XPosed/LSPosed, blockiert werden.

    Hintergrund


    Etwas Hintergrund zu der Sache. Wenn die App direkt beim starten abstürzt, oder beim auswählen der Broteinheiten/nach den Blutzuckereinheiten, dann ist dass ein sehr guter Indikator dass die App Root gefunden hat auf dem Smartphone und deswegen nicht startet. Früher hatte man in Magisk die Option Magisk zu verstecken mit "Magisk Hide", diese Option wurde aber in v24 entfernt, da sie teilweise, wie im Fall von Libre 3, nicht so toll funktioniert hat und auch recht stark limitiert war. Gleichzeitig mit v24 kam dafür aber der neue Zygisk-Modus hinzu. Dieser Modus erlaubt es Magisk Modulen sich direkt in den App-Prozess mitladen zu lassen, wodurch diese die Umgebung vom Prozess viel genauer und präziser beeinflussen und verändern können. Das neue Shamiko-Modul tut genau dies um eine um einiges bessere Funktionalität beim verstecken von Root zu erreichen. Dank dessen funktioniert nun die Libre 3 App auch auf gerooteten Smartphones.