Home Assistant/Healthy

Tři appky o zdraví, jeden přehled.

Na spánek nosím prsten Oura, na sport hodinky Galaxy Watch a vážím se na chytré váze. Každá appka zná jen svůj kousek. Healthy bere to nejlepší z každé, dopočítá, co žádná sama neumí, a odpoví na otázky přes AI poradce.

beta 0.5, vznikla za jeden denHome Assistant · AndroidNávod pro AI agenta

K čemu to je

Ráno jeden pohled místo tří appek

Na hlavní obrazovce je šest kroužků: připravenost, spánek, energie, trénink, aktivita a odolnost. Pod nimi velký oblouk s dnešní připraveností a věta, co to znamená, třeba „HRV 57 ms je nad tvým průměrem, tělo je dobře zregenerované“.

Na záložce Trénink appka řekne, jestli dnes normálně trénovat, jít zlehka, nebo si dát volno, a v jakém tepovém pásmu. Trendy ukážou, jak se to vyvíjí za týden nebo měsíc, a Tělo složení těla z váhy za 90 dní.

Když něčemu nerozumím, podržím prst na kartě. Appka ji vyfotí a vloží do chatu s AI poradcem, stačí napsat „co to znamená?“. Ráno navíc přijde notifikace se shrnutím noci, jakmile Oura nahraje data.

Proč

Každá appka zná jen kousek

Hodinky mají spoustu funkcí, ale v noci je nenosím, na spánek mám prsten. Samsung Health proto nemá data ze spánku a chybí mu půlka výpočtů: energie, připravenost i zátěž. Oura zase nevidí tréninky z hodinek ani váhu.

Oura má vlastního AI poradce, jenže jen v angličtině. Když je telefon česky, appka celou funkci schová. Chtěl jsem poradce, který mluví česky a vidí i tréninky a váhu, ne jen prsten.

Healthy proto bere spánek a regeneraci z Oury, tréninky a kroky z hodinek a složení těla z chytré váhy. Nad tím počítá věci, které žádná z těch appek sama nemá: tréninkovou zátěž, energii, doporučení na trénink a souvislosti mezi dnem a následující nocí.

Jak to funguje

Ze tří zařízení do jedné appky

Oura Ringspánek, HRV, teplotapřipravenost a odolnostGalaxy Watchtréninky s tepemkroky přes Samsung HealthChytrá váhatuk, svaly, voda, kostimetabolický věkHome Assistantintegrace Oura a váhyaktuální hodnotyHealth Connectv telefonutréninky dovnitř, vážení venVictoriaMetricshistorie z Home Assistanta30 a 90 dní na trendyHealthyvlastní výpočtyAI poradce (Claude)dostane jen spočítaný souhrnAppka, widgety, notifikacevšechno přes domácí síť a Tailscale
  • Aktuální hodnoty z Home Assistanta. Home Assistant už má integraci Oury (zhruba šedesát hodnot) i chytré váhy. Appka si je stáhne jedním dotazem a k Oura účtu se sama nepřihlašuje.
  • Historie z VictoriaMetrics. Health Connect dá jen zhruba 30 dní zpátky. Trendy, souvislosti a váha za 90 dní proto jdou z databáze, kam Home Assistant ukládá historii.
  • Tréninky přes Health Connect. Hodinky zapisují tréninky s tepem po vteřinách do Samsung Health a odtud do Health Connect. Když stejný trénink zapíše i Oura, appka je sloučí a tep bere jen z hodinek. Opačným směrem zapisuje vážení, takže ho vidí i Samsung Health.
  • Obnova na pozadí. Ráno mezi pátou a jednou se appka dívá každých 15 minut, jestli Oura nahrála noc, a pak pošle shrnutí. Zbytek dne stačí jednou za hodinu. Widgety se obnoví spolu s daty.
  • Data zůstávají doma. Všechno jde přes domácí síť a Tailscale. Ven odchází jen dotaz na AI poradce, a to jako textový souhrn, ne surová měření.

Jak to vypadá

Jak to vypadá v telefonu

Hlavní obrazovka Healthy: kroužky Připravenost, Spánek, Energie a Trénink a velký oblouk s připraveností 76
Karta Trénink dnes s doporučením Normální trénink a karta Spánek s fázemi
Karta Energie 83 a z čeho se skládá: spánek, HRV, klidový tep, včerejší zátěž, odolnost
Karta Regenerace s grafem HRV za dva týdny a karta Aktivita s kroky
Stres přes den po dnech v týdnu a karta Tělo z chytré váhy
Záložka Trénink: připravenost na trénink 76 a její složky
Pás dnů Dnes, Včera, Předevčírem a seznam tréninků s tepem a zátěží
Rozkliknutý běh: délka, tep, zátěž, čas v zónách a tepová křivka
Souhrn posledních 7 dní a tepové zóny s minutami
Trendy za 7 dní: připravenost a skóre spánku po dnech s průměrem
Trendy: délka spánku a HRV za týden
Trendy: nejnižší noční tep a teplotní odchylka
Trendy: teplotní odchylka a skóre aktivity
Trendy za 30 dní: připravenost a spánek
Souvislosti: bodový graf délky spánku proti připravenosti a tréninkové zátěže proti připravenosti
Záložka Tělo: složení těla z chytré váhy a graf váhy za 90 dní
Grafy váhy, tělesného tuku a svalové hmoty za 90 dní
AI poradce Advisor: úvodní obrazovka s návrhy otázek
Odpověď Advisora na otázku Mám dnes trénovat?
Pokračování odpovědi: plán na další dny a tip k běhu
Široké widgety Trénink, Přehled dne a Spánek na ploše telefonu
Malé widgety Energie, Připravenost a Tělo

Klik na fotku ji zvětší. Listuje se šipkami, tažením nebo klávesami.

Co jsem zjistil

Co appka dopočítá

1

Den od nápadu po betu

Brainstorming, oprava Samsung Health, appka, výpočty, šest widgetů, ranní notifikace i AI poradce vznikly 8. října 2026 během jednoho dne s AI asistentem.

30

Dní historie v Health Connect

Víc bez zvláštního oprávnění nedá. Proto je historie z VictoriaMetrics a průměry zátěže startují z průměrné denní zátěže, ne z nuly.

5

Složek energie

Spánek 35 %, HRV proti normálu za 14 dní 25 %, nejnižší tep 15 %, včerejší zátěž 15 % a odolnost z Oury 10 %. Karta ukáže, která energii zrovna brzdí.

21

Dní, než se počítá poměr zátěže

Poměr akutní a chronické zátěže se do skóre započítá až po třech týdnech a s rozumným objemem tréninku. Do té doby se nehodnotí.

10

Dní minimum pro souvislost

Šest dvojic, třeba kroky a HRV nebo délka spánku a připravenost. Pod deset dní dat appka nic netvrdí.

0

Surových měření do AI

Poradce dostane textový souhrn: dnešek, spočítaná skóre, tabulku za 30 dní, váhu, tréninky za 3 týdny a souvislosti.

Co jsem se naučil

Tři věci, na které jsem narazil

01

Samsung Health nečetl vůbec nic

Oura spánek se do Samsung Health nedostal, přestože byl v Health Connect. Na vině byla první synchronizace Samsung Health s cloudem, která se zasekla, takže na Health Connect vůbec nesahal. Po opravě začal spánek ukazovat a navíc zapisovat tréninky, bez kterých by Healthy nemělo co počítat.

02

Poměr zátěže z procházek je šum

Když jsem chodil jen na procházky, poměr akutní a chronické zátěže vycházel 2,0, tedy „prudký nárůst“. Malá čísla dělí malá čísla. Teď se počítá až od rozumného objemu tréninku a tří týdnů historie.

03

Widget nezná svoji velikost

Widgety v Glance neumí oblouky ani vlastní písmo, takže kroužky a čísla kreslím jako obrázky. A v režimu Responsive widget dostane velikost přihrádky, ne skutečnou. Na ploše One UI byly kroužky malé, dokud jsem nepřidal víc stupňů velikosti.

Pro AI agenta

Postav si to u sebe

Chceš si to postavit u sebe? Zkopíruj návod a dej ho svému AI agentovi, třeba Claude Code nebo Codexu. Je v něm cíl, postup krok za krokem, pasti, na které jsem narazil, a jak ověřit, že to funguje. Adresy ani hesla v něm nejsou, ty agent doplní s tebou.

Pro zvědavé

Technické detaily

Stack a tok dat Kotlin · Compose · Health Connect · VictoriaMetrics
Appka
Nativní Android, Kotlin a Jetpack Compose. Grafy a kroužky kreslené v Compose, tmavý teplý design inspirovaný Ourou, velká čísla písmem Instrument Serif. Instalace z APK podepsaného vlastním klíčem, v Google Play není.
Home Assistant
Aktuální hodnoty z integrace Oura a z chytré váhy (bodymiscale počítá složení těla) jedním dotazem na šablonové API. Appka má vlastní token.
VictoriaMetrics
Historie za 30 a 90 dní. Denní hodnota je poslední hodnota dne, ne maximum: počítadlo kroků se nuluje až s první aktualizací po půlnoci.
Health Connect
Tréninky s tepem a kroky z hodinek přes Samsung Health, čtení i na pozadí. Kroky = vyšší z hodnot Samsung Health a Oury, protože Samsung je posílá se zpožděním. Zápis vážení s vlastním ID záznamu, opakovaný zápis jen přepíše.
Pozadí
WorkManager: ráno mezi 5. a 13. hodinou každých 15 minut, jinak jednou za hodinu. Ranní notifikace jednou za noc, až když Oura nahraje spánek. Šest widgetů v Jetpack Glance.
AI poradce
Claude Sonnet 5.5 přes Anthropic API, odpověď se streamuje, souhrn dat je v cache, takže další otázky jsou levnější. Historie chatu v telefonu, do API jde posledních 20 zpráv. Ukázkový režim má vlastní vymyšlená data i oddělenou historii.
Síť
Doma přes domácí síť, venku přes Tailscale.
Vlastní výpočty TRIMP · ACWR · korelace
VýpočetJak
Tréninková zátěžBanisterův TRIMP: minuty × podíl tepové rezervy × 0,64 × e1,92 × podíl. Klidový tep = průměr nejnižšího nočního tepu z Oury.
Tepové zóny50, 60, 70, 80 a 90 % tepové rezervy
Akutní a chronická zátěžklouzavé průměry za 7 a 28 dní a jejich poměr ACWR
Energiespánek 35 %, HRV 25 %, nejnižší tep 15 %, včerejší zátěž 15 %, odolnost 10 %
Připravenost na tréninkOura Readiness a korekce: ACWR nad 1,5 −20, nad 1,3 −8, pod 0,8 +3; energie pod 50 −10, pod 60 −5; plus únava ze včerejška. Nikdy skóre uměle nezvedá nad to, co dává smysl.
Doporučení80 a víc: pořádný trénink (zóny 3 až 4), 65 a víc: normální, 50 a víc: lehký pohyb, níž: regenerace. K tomu cílový tep a zátěž odvozená z chronické zátěže.
SouvislostiPearsonova korelace dne s následující nocí a porovnání nad a pod mediánem, nejméně 10 dní dat
Obrazovky co kde najdeš
ZáložkaCo ukazuje
Dnesšest kroužků, připravenost s větou, trénink dnes, spánek s fázemi, energie, regenerace, aktivita, stres, tělo
Tréninkpřipravenost na trénink a doporučení, tréninky v pásu dnů s tepovou křivkou, týdenní souhrn, tepové zóny, zátěž
Trendy7 nebo 30 dní: připravenost, spánek, HRV, noční tep, teplota, aktivita, kroky, stres a souvislosti
Tělotuk, svaly, kosti, voda, viscerální tuk, BMI, bazální metabolismus, metabolický věk a trendy za 90 dní
Advisorchat s AI poradcem, vložení karty dlouhým podržením
Pasti a jejich řešení pro ty, kdo to staví taky

Health Connect bez zvláštního oprávnění vrátí jen zhruba 30 dní. Čtení na pozadí potřebuje vlastní oprávnění a kontrolu, jestli ho telefon podporuje. Samsung Health převzaté vážení zapíše zpátky jako svoje, takže je v Health Connect dvakrát. Když tréninky zapisují hodinky i prsten, vzorky tepu se prolínají: sloučit a tep brát z jednoho zdroje. Snímek karty pro AI poradce je hardwarová bitmapa, před kreslením ji je potřeba zkopírovat, jinak appka spadne. Android nezná formát dne EEEEEE, spadne na něm. Odinstalace appky smaže widgety z plochy.

Dál

Související

Soukromí. Všechny screenshoty jsou z ukázkového režimu appky s vymyšlenými čísly, nejsou to moje data. Na stránce nejsou adresy, tokeny ani názvy entit. AI poradce dostává jen textový souhrn.