WK 2026: Scoor de beste deals! Stel jouw winnende opstelling samen met behulp van ons advies.

Home Assistant voor Medische Toepassingen

Pagina: 1
Acties:

  • Ulysses
  • Registratie: Oktober 1999
  • Laatst online: 10:30

Ulysses

Certified Liability

Topicstarter
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.

Afbeeldingslocatie: https://tweakers.net/i/QKAH-g6lNAO03xViWr5mPlLs9S4=/fit-in/4000x4000/filters:no_upscale():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:
  1. Medtronic 780G & Sensor: Sturen data via Bluetooth naar de MiniMed-app op de telefoon van de patiënt.
  2. CareLink Cloud: De MiniMed-app uploadt de data real-time naar de servers van Medtronic.
  3. Home Assistant (CareLink integratie): Fungeert als de 'postbode'. HA logt in op CareLink, haalt de data op en maakt er lokale sensoren van.
  4. Nightscout : Home Assistant pompt de data direct door naar je eigen Nightscout-server (een opensource diabetes-database).
  5. xDrip+ App: De telefoon van de patiënt leest Nightscout uit als 'Follower'.
  6. 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.
Na het opslaan en starten fungeert NightScout als een veilige, lege opvangbak die wacht op glucosedata.
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.
  1. Het script wordt gestart op een lokale pc en opent een browserscherm naar de officiële CareLink inlogpagina.
  2. De gebruiker logt in en lost de "ik ben geen robot"-puzzel op.
  3. Het script vangt de resulterende authenticatietokens op en slaat deze automatisch op in /homeassistant/carelink_logindata.json.
  4. 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.
Onderaan het configuratiescherm vullen we de gegevens van onze eigen Nightscout-server in:
  • Nightscout URL: (Het subdomein dat ik eerder vastlegde)
  • Nightscout API Secret: Ietsdatjezelfhebtverzonnengewoon123!
  • Scaninterval: 60 seconden.
Home Assistant haalt nu elke minuut de status op en pompt deze direct door naar Nightscout.

Afbeeldingslocatie: https://tweakers.net/i/TWaKm4yM8QqrbB2kxULc9lk0Asg=/x800/filters:strip_icc():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:
  1. Ga naar de CareLink website en maak een compleet nieuw, tweede account aan met een uniek e-mailadres.
  2. Kies bij het registreren voor de rol Care Partner (Volger) in plaats van patiënt.
  3. Stuur vanuit het hoofdaccount van de patiënt een koppelingsverzoek naar dit nieuwe Care Partner-account en accepteer dit.
  4. 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.
  5. Draai de Token Generator opnieuw, maar log ditmaal in met het Care Partner-account.
  6. Vul de integratie in Home Assistant opnieuw in. (Bij Patient ID vul je de gebruikersnaam van het hoofdaccount in).
Vanaf dit moment is de verbinding permanent stabiel.
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:
  1. Download de nieuwste nightly build APK van xDrip+ via de officiële GitHub-pagina van de NightscoutFoundation.
  2. Installeer de app op de Android-telefoon (sta 'installeren uit onbekende bronnen' toe).
  3. Open xDrip+, ga naar SettingsHardware Data Source and selecteer Nightscout Follower.
  4. Vul bij Nightscout URL het adres in inclusief de API-sleutel: https://Ietsdatjezelfhebt...woon123!@eigen.domein.url
  5. 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.
  1. Ga in xDrip+ naar SettingsCloud UploadGoogle Fit Sync (of Health Connect).
  2. Zet de synchronisatie aan en geef xDrip+ schrijfrechten.
  3. Ga in de Google Health / Fitbit app naar de instellingen, zoek naar Health Connect en geef de Google-app leesrechten voor de categorie Bloedglucose.
  4. De data stroomt nu volledig automatisch door naar je Google-account!
Afbeeldingslocatie: https://tweakers.net/i/e4anBZA0tGyyqKU4M4fAZyred4Y=/x800/filters:strip_icc():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!)
Hier is de volledige YAML-code van deze automatisering:
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
Afbeeldingslocatie: https://tweakers.net/i/wF7dT5juL-CSigv0FgBWm-YPfUs=/fit-in/4000x4000/filters:no_upscale():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.


  • TWKterry
  • Registratie: Januari 2001
  • Laatst online: 11:25

TWKterry

Master Mariner

Heb er verder zelf geen belang bij, maar een mooi stukje uitzoekwerk. Stappen zijn ook duidelijk beschreven lijkt me, alleen waarom zou je eerst het hoofdaccount koppelen en daarna het partner account.

  • Ulysses
  • Registratie: Oktober 1999
  • Laatst online: 10:30

Ulysses

Certified Liability

Topicstarter
Trial and error in mijn geval. Wie het sneller wil doen kan natuurlijk het meteen goed doen.

Mijn psycholoog kon mij niet aan - maar nu heb ik gelukkig AI.


  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 11:59

Septillion

Moderator Wonen & Mobiliteit
Mooi uitgebreid verslag!

Er is alleen wat misgegaan met het posten van je code, de yaml is scrambled. Misschien wil je dat nog even aanpassen incl code=yaml in de tag.

  • sweetdude
  • Registratie: April 2002
  • Laatst online: 09:33
Mooi stukje.
Maar hoe zit medtronic hierin? als deze vraag bestaat om een open uitwisseling te hebben om data te lezen. Mogelijk dat ze hiervoor open staan. Gevalletje nee heb je, ja kun je krijgen.

[ Voor 11% gewijzigd door sweetdude op 04-06-2026 09:33 ]


  • Ulysses
  • Registratie: Oktober 1999
  • Laatst online: 10:30

Ulysses

Certified Liability

Topicstarter
@septillion ik zie dat de inspringing inderdaad is verloren gegaan bij het plakken. Ik zal het vanavond nog wat beter bijpunten..
Zo iets beter. Edit 2

[ Voor 29% gewijzigd door Ulysses op 04-06-2026 10:30 ]

Mijn psycholoog kon mij niet aan - maar nu heb ik gelukkig AI.

Pagina: 1