Het lijkt mij interessant om ervaringen uit te wisselen aangaande het hacken van medische toepassingen voor gebruik met open data en integratie in platforms als Home Assistant.
Persoonlijk heb ik al sinds tijden mijn slimme weegschaal bijvoorbeeld aan een Spreadsheet hangen die ik door Home Assistant laat invullen, maar dat is nog slechts spielerei vergeleken bij wat ik onlangs ondernomen heb op instructies van die verduvelde taalmodellen.
:strip_exif()/f/image/YM7D0NlAKU5eFUDSqvCiUC5Z.png?f=user_large)
Wat mij triggerde tot mijn zoektocht van eergisteren was echter de nieuwe Fitbit die mijn lief in navolging van mij had aangeschaft. Haar vraag was, om de data van haar bloedsuikers ook daadwerkelijk geautomatiseerd in de Health App the integreren. En wat nu volgt is een stuk tekst dat ik eerder voor mijn eigen blog had geschreven - maar heb omgezet naar iets dat mogelijk op GoT kan blijven staan - waar het meer tot zijn recht zou kunnen komen. Ja, ik heb taalmodellen gebruikt om mijn handarbeid te structureren - maar ik ben hier niet voor een essay Nederlands, maar voor het vakinhoudelijk overdragen van mijn Home Assistant knutselwerkje.
In deze uitgebreide handleiding documenteren we de complete reis: van een lege database tot een volautomatisch, stabiel diabetes-dashboard in Home Assistant og Google Health, inclusief de cruciale workaround om Medtronic's strenge MFA (Multi-Factor Authenticatie) te omzeilen.
De belangrijkste parameters in de YAML-configuratie van de Add-on:
:strip_exif()/f/image/4LaIcGzzhm0o1WvZCbkq1j53.jpg?f=fotoalbum_large)
:strip_exif()/f/image/5OW08Vsv9PTBWz9wkkBnX5eW.jpg?f=fotoalbum_large)
:strip_exif()/f/image/SEcNQQnzMAx5pEE5xr2I5MmE.png?f=user_large)
Persoonlijk heb ik al sinds tijden mijn slimme weegschaal bijvoorbeeld aan een Spreadsheet hangen die ik door Home Assistant laat invullen, maar dat is nog slechts spielerei vergeleken bij wat ik onlangs ondernomen heb op instructies van die verduvelde taalmodellen.
:strip_exif()/f/image/YM7D0NlAKU5eFUDSqvCiUC5Z.png?f=user_large)
Wat mij triggerde tot mijn zoektocht van eergisteren was echter de nieuwe Fitbit die mijn lief in navolging van mij had aangeschaft. Haar vraag was, om de data van haar bloedsuikers ook daadwerkelijk geautomatiseerd in de Health App the integreren. En wat nu volgt is een stuk tekst dat ik eerder voor mijn eigen blog had geschreven - maar heb omgezet naar iets dat mogelijk op GoT kan blijven staan - waar het meer tot zijn recht zou kunnen komen. Ja, ik heb taalmodellen gebruikt om mijn handarbeid te structureren - maar ik ben hier niet voor een essay Nederlands, maar voor het vakinhoudelijk overdragen van mijn Home Assistant knutselwerkje.
Medtronic 780G koppelen aan Home Assistant, Nightscout en Google Health
Wie een Medtronic MiniMed 780G insulinepomp en een Guardian 4-sensor heeft, weet hoe fijn het systeem werkt. Maar je weet waarschijnlijk ook hoe frustrerend het gesloten ecosysteem van Medtronic kan zijn. Je data zit vast in de MiniMed-app en de CareLink-cloud. Wat als je deze medische data wilt ontsluiten? Wat als je live grafieken wilt op het startscherm van je vriendin, je bloedsuiker wilt inladen in de nieuwe Google Health-omgeving, of je slimme verlichting in huis wilt laten meekleuren bij een hypo?In deze uitgebreide handleiding documenteren we de complete reis: van een lege database tot een volautomatisch, stabiel diabetes-dashboard in Home Assistant og Google Health, inclusief de cruciale workaround om Medtronic's strenge MFA (Multi-Factor Authenticatie) te omzeilen.
De Architectuur: Hoe de data stroomt
Om data uit een afgesloten medisch systeem te krijgen, bouwen we een keten van opensource-koppelingen. De datastroom ziet er als volgt uit:- Medtronic 780G & Sensor: Sturen data via Bluetooth naar de MiniMed-app op de telefoon van de patiënt.
- CareLink Cloud: De MiniMed-app uploadt de data real-time naar de servers van Medtronic.
- Home Assistant (CareLink integratie): Fungeert als de 'postbode'. HA logt in op CareLink, haalt de data op en maakt er lokale sensoren van.
- Nightscout : Home Assistant pompt de data direct door naar je eigen Nightscout-server (een opensource diabetes-database).
- xDrip+ App: De telefoon van de patiënt leest Nightscout uit als 'Follower'.
- Google Health / Health Connect: xDrip+ schrijft de data weg naar de Android-omgeving zodat het in je fitness- en gezondheidsapps verschijnt.
code:
1
| [Pomp/Sensor] ➔ [CareLink Cloud] ➔ [Home Assistant] ➔ [Nightscout] ➔ [xDrip+] ➔ [Google Health] |
Stap 1: Nightscout opzetten op je eigen netwerk
De basis van het platform is Nightscout. In dit scenario draait Nightscout als een Add-on binnen Home Assistant, volledig bereikbaar via een eigen subdomein.Configuratie van de Add-on
In de basisconfiguratie van de Nightscout Add-on is een zelfbedachte, sterke hoofdsleutel (de api_key of API_SECRET) ingesteld. Deze sleutel is essentieel, omdat applicaties van buitenaf hiermee toestemming krijgen om data te lezen en te schrijven.De belangrijkste parameters in de YAML-configuratie van de Add-on:
- ssl: true (beveiligd met certificaten via Let's Encrypt/DuckDNS).
- api_key: Een uniek, zelfbedacht wachtwoord.
- plugins: Activering van vitale functies zoals basal, iob, cob, careportal en openaps.
Stap 2: Home Assistant als de 'Postbode' (CareLink Integratie)
Omdat de Nightscout Add-on zelf geen directe, stabiele verbinding kan maken met de Medtronic-servers door strenge API-beveiliging, gebruiken we Home Assistant als dataleverancier. Via de Home Assistant Community Store (HACS) installeren we de Carelink integratie (ontwikkeld door yo-han).Het Captcha- en Tokenprobleem oplossen
Medtronic maakt gebruik van geavanceerde cloudbeveiliging (zoals reCAPTCHA-tests). Hierdoor kan Home Assistant niet simpelweg met een gebruikersnaam en wachtwoord inloggen. Er is eenmalig een Carelink Token Generator script nodig.- Het script wordt gestart op een lokale pc en opent een browserscherm naar de officiële CareLink inlogpagina.
- De gebruiker logt in en lost de "ik ben geen robot"-puzzel op.
- Het script vangt de resulterende authenticatietokens op en slaat deze automatisch op in /homeassistant/carelink_logindata.json.
- Bij het configureren van de CareLink integratie in Home Assistant worden alle tokenvelden leeg gelaten. De integratie leest de tokens direct uit het json-bestand.
- Nightscout URL: (Het subdomein dat ik eerder vastlegde)
- Nightscout API Secret: Ietsdatjezelfhebtverzonnengewoon123!
- Scaninterval: 60 seconden.
:strip_exif()/f/image/4LaIcGzzhm0o1WvZCbkq1j53.jpg?f=fotoalbum_large)
Stap 3: De grote optimalisatie – De MFA-beperking omzeilen
Na een vliegende start kan de integratie plotseling stoppen met het ophalen van glucosewaarden, hoewel het profiel wel wordt geladen. De oorzaak? Multi-Factor Authenticatie (MFA). Medtronic vereist steeds vaker een e-mail- of sms-bevestiging bij het inloggen op het hoofdaccount. Een geautomatiseerd script in Home Assistant kan deze e-mailcode niet lezen, waardoor Medtronic de datakraan dichtdraait.De Oplossing: Het Care Partner-account
Om dit structureel op te lossen en een 100% stabiele verbinding te garanderen, omzeilen we het hoofdaccount via de officiële Care Partner (Zorgpartner) route:- Ga naar de CareLink website en maak een compleet nieuw, tweede account aan met een uniek e-mailadres.
- Kies bij het registreren voor de rol Care Partner (Volger) in plaats van patiënt.
- Stuur vanuit het hoofdaccount van de patiënt een koppelingsverzoek naar dit nieuwe Care Partner-account en accepteer dit.
- Waarom dit werkt: Care Partner-accounts zijn bij Medtronic ontworpen om uitsluitend data te lezen (bijvoorbeeld voor bezorgde ouders of partners). Deze accounts hebben een veel minder agressief MFA-beleid en vereisen geen constante e-mailverificaties bij API-aanroepen.
- Draai de Token Generator opnieuw, maar log ditmaal in met het Care Partner-account.
- Vul de integratie in Home Assistant opnieuw in. (Bij Patient ID vul je de gebruikersnaam van het hoofdaccount in).
Stap 4: xDrip+ op de mobiel
Nu de data stabiel in Nightscout staat, willen ik dit zichtbaar maken op de telefoon van mijn vriendin, én doorsturen naar het Android-gezondheidssysteem. Hiervoor gebruiken we de krachtige opensource app xDrip+.Installatie & Koppeling:
- Download de nieuwste nightly build APK van xDrip+ via de officiële GitHub-pagina van de NightscoutFoundation.
- Installeer de app op de Android-telefoon (sta 'installeren uit onbekende bronnen' toe).
- Open xDrip+, ga naar Settings ➔ Hardware Data Source and selecteer Nightscout Follower.
- Vul bij Nightscout URL het adres in inclusief de API-sleutel: https://Ietsdatjezelfhebt...woon123!@eigen.domein.url
- Binnen enkele minuten verschijnt de real-time glucosegrafiek in xDrip+.
De doorvoer naar Google Health Connect
De nieuwe "Google Health"-omgeving (de vernieuwde Fitbit/Google Fit-omgeving) werkt op de achtergrond met Health Connect.- Ga in xDrip+ naar Settings ➔ Cloud Upload ➔ Google Fit Sync (of Health Connect).
- Zet de synchronisatie aan en geef xDrip+ schrijfrechten.
- Ga in de Google Health / Fitbit app naar de instellingen, zoek naar Health Connect en geef de Google-app leesrechten voor de categorie Bloedglucose.
- De data stroomt nu volledig automatisch door naar je Google-account!
:strip_exif()/f/image/5OW08Vsv9PTBWz9wkkBnX5eW.jpg?f=fotoalbum_large)
Stap 5: Smart Home Optimalisatie in Home Assistant
Nu alle data als een lokale sensor in Home Assistant leeft onder de naam sensor.renskeg_carelink_renskeg_last_glucose_level_mmol, kunnen we het smart home écht slim maken.1. De 'Boekhoek' sfeerlamp mee laten kleuren
We hebben een automatisering gebouwd voor een specifieke multicolor lamp (light.boekhoek) in de woonkamer. De lamp verandert van kleur op basis van de actuele bloedsuiker, mits de lamp al aan staat.- Boven de 8.0: Blauw (Te hoog)
- Tussen de 4.0 en 8.0: Groen (Perfect in range)
- Onder de 4.0: Rood (Hypo alarm!)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| alias: "Diabetes: Glucosewaarde kleurt de Boekhoek"
description: Verandert de kleur van light.boekhoek op basis van de actuele glucosewaarde.
triggers:
- entity_id: sensor.renskeg_carelink_renskeg_last_glucose_level_mmol
trigger: state
conditions:
- condition: state
entity_id: light.boekhoek
state: "on"
actions:
- target:
entity_id: light.boekhoek
data:
color_name: >
{% set bg =
states('sensor.renskeg_carelink_renskeg_last_glucose_level_mmol')
| float(0) %} {% if bg > 8.0 %}
blue
{% elif bg >= 4.0 %}
green
{% elif bg > 0.0 %}
red
{% else %}
white
{% endif %}
action: light.turn_on
mode: restart |
:strip_exif()/f/image/SEcNQQnzMAx5pEE5xr2I5MmE.png?f=user_large)
Conclusie
Het kost wat puzzelwerk, het omzeilen van de nodige Captcha's en het slim inzetten van een Care Partner-account, maar het resultaat is goud waard. De Medtronic 780G is hiermee getransformeerd van een geïsoleerd medisch apparaat naar de spil van een intelligent, geruststellend en prachtig visueel smart home-ecosysteem!Vervolg Oproep
Misschien hebben jullie zelf wel meer medische toepassingen of slimme medische widgets die je ontsluit via Home Assistant? Dan zou ik die graag samen bundelen in dit topic. Je mag natuurlijk ook reageren op deze.[ Voor 4% gewijzigd door Ulysses op 04-06-2026 10:29 ]
Mijn psycholoog kon mij niet aan - maar nu heb ik gelukkig AI.