Server & síť/Telemetrie na iPhonu

Telefon, který hlídá počítač.

iPhone ve stojánku vedle monitoru ukazuje teploty a zátěž procesoru i grafiky, paměť, příkon a kolik mi zbývá z limitů AI asistenta. Když spustím hru, sám se přepne na herní board s FPS a pingem. Po pěti minutách nečinnosti zhasne, po návratu k myši se probudí.

běží od září 2026Server & síť · díl 6Návod pro AI agenta

K čemu to je

Pohled na stroj, aniž bych něco otevíral

Když renderuju video, hraju nebo nechám běžet AI agenta, chci vědět, jak je na tom počítač, a nechci kvůli tomu přepínat okna. Malý displej vedle monitoru to řeší: dvě velké teploty, zátěž, paměť a příkon na jeden pohled.

Druhá věc, na kterou koukám častěji, než bych čekal: limity Claude Code. Předplatné má okno pěti hodin a týdne, a když se blíží konec, chci to vidět dřív, než mě to zastaví uprostřed práce.

Inspirace přišla z návodu na PromptLab, kde autor použil starý Android po USB kabelu. Já měl v šuplíku iPhone, takže jsem cestu musel vymyslet jinak.

Proč

Proč iPhone a proč ne po kabelu

Android umí přes USB protunelovat port z počítače a spustit vlastní aplikaci, která drží displej rozsvícený. iPhone nic z toho nedovolí. Místo kabelu tak jde všechno po domácí Wi-Fi a místo aplikace je to webová stránka přidaná na plochu.

A protože Home Assistant už o počítači ví skoro všechno, nedávalo smysl stavět další sběrač dat na Windows. Telefon se ptá serveru, server se ptá Home Assistanta a počítač jen posílá čísla.

Jak to funguje

Kudy tečou čísla

Počítač (Windows)agent: zátěž, poslední aktivitačidla: teploty, příkon, VRAM Home Assistantptá se čidel každých 10 splus teplota v pokoji, spotřeba změny hned (push) Servertelemetry iPhone ve stojánkustránka z plochy, obnova každé 2 szamčený v jedné aplikaci Limity AI asistenta5 hodin · týden · týden pro modeldotaz jednou za 5 minut jedna odpověď pro telefon · jen domácí síť Nečinnost hlásí agent, hru pozná server3 min ztlumit · 5 min černá · zátěž grafiky nebo FPS přepne herní board
  • Počítač hlásí do Home Assistanta. Agent na Windows posílá zátěž a poslední aktivitu. Čtečka čidel doplní teploty, příkon a paměť grafiky každých deset sekund.
  • Server skládá jednu odpověď. Malá služba v Dockeru drží živé spojení s Home Assistantem a jednou za pět minut se ptá na limity AI asistenta.
  • Telefon jen kreslí. Jedna stránka bez knihoven, obnovuje se každé dvě sekundy. Přidaná na plochu, zamčená v kiosku, displej nezhasíná.
  • Hra má přednost. Když zátěž grafiky drží půl minuty nad 60 %, nebo přijde FPS z počítače, server přepne stránku na herní board: FPS, 1 % low, frametime, ping na dvě linky, teploty a příkon. Vypne se až minutu po konci hry.
  • Šetří displej. Po třech minutách nečinnosti počítače ztlumí a nechá obsah pomalu bloudit, po pěti minutách zčerná. Návrat k myši ji probudí.

Jak to vypadá

Jak to vypadá

iPhone na šířku ve stojánku pod monitorem, vedle reproduktoru, na displeji běžný board s teplotami procesoru a grafiky, limity AI asistenta a údaji z domácnosti
Běžný board: teploty procesoru a grafiky v kruhových stupnicích, zátěž, paměť, takt, příkon, VRAM, ventilátor, tři okna limitů AI asistenta a údaje z domácnosti
Herní board: velké FPS se stavem Plynulé, 1 % low, frametime, ping na internet a Frankfurt, vedle teploty, zátěž, paměť, VRAM, hot spot a příkon procesoru a grafiky

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

Co jsem zjistil

Co jsem zjistil po cestě

10 s

Čtečka čidel je rychlejší

Agent na Windows hlásí po půl minutě a teplotu procesoru vůbec neumí. Čtečka čidel dá teploty, příkon i otáčky třikrát rychleji.

429

Limity se nesmí číst každou minutu

Rozhraní s limity mě po chvíli odmítlo. Pětiminutový interval stačí a při odmítnutí se drží poslední známé hodnoty.

3 min

OLED chce klid

Tři minuty bez pohybu myši a obsah ztmavne a pomalu cestuje po displeji. Další dvě minuty a je černo. Pixely, které nesvítí, se nevypalují.

0

Aplikací k instalaci

Stránka přidaná na plochu se chová jako aplikace: bez lišty prohlížeče, na celý displej. Vývojářský účet ani Xcode nebyly potřeba.

3×

Boční tlačítko

Asistovaný přístup zamkne telefon v jedné aplikaci. Náhodný dotyk ani notifikace dashboard nezavřou.

1

Nastavení, bez kterého to nejde

Webová stránka na iPhonu displej neudrží, i když o to požádá. Automatický zámek nastavený na Nikdy je jediná spolehlivá cesta.

30 s

Hra se pozná podle grafiky

Zátěž grafiky nad 60 % po dobu půl minuty zapne herní board, pod 30 % po dobu minuty ho vypne. Díky hysterezi neblikají boardy při načítání úrovně.

225

FPS jdou přes Home Assistant

Skript na počítači čte sdílenou paměť RTSS a posílá FPS, 1 % low a název hry jako tři senzory. Když dorazí FPS větší než nula, herní board naskočí hned.

3 s

Ping měří server, ne telefon

Server zkouší TCP spojení na dva cíle každé tři sekundy a z posledních deseti vzorků počítá průměr, rozptyl a ztrátu. Telefon jen ukáže číslo.

Co jsem se naučil

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

01

Hodiny místo dashboardu

Po chvíli se na displeji objevily hodiny a kalendář. Nebyl to nový režim stránky, ale StandBy: telefon se prostě zamkl. Zámek na Nikdy to vyřešil.

02

Dvě funkce se skoro stejným jménem

Asistivní přístup chce seznam aplikací a webovou stránku v něm nenajdeš. Asistovaný přístup nic nevybírá, zamkne to, co je zrovna otevřené. Chvíli jsem hledal ve špatném.

03

Ještě to jede? Ne, to je záložka na počítači

Po přesunu na domácí adresu stará adresa dál vypadala živě. Byla to jen zapomenutá záložka v prohlížeči na počítači. Kdo se opravdu připojuje, poznáš jedině na serveru.

04

Ovladač nehýbe myší

Nečinnost počítače poznávám podle klávesnice a myši. S ovladačem v ruce by tak dashboard uprostřed hry ztmavl a po pěti minutách zčernal. Proto má herní režim přednost před nečinností.

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 FastAPI · WebSocket · PWA · RTSS
Počítač
HASS.Agent posílá do Home Assistanta zátěž, paměť a poslední aktivitu (MQTT, cca 30 s). LibreHardwareMonitor vystaví čidla po HTTP a čte je oficiální integrace Home Assistanta každých 10 s: teplota procesoru, příkon, paměť grafiky, ventilátor.
Server
FastAPI v Dockeru. Počáteční stav přes REST, dál WebSocket na změny stavu, žádný polling. Mapování klíčů na entity v JSON souboru, který se načítá za běhu. Odpověď pro telefon na jedné adrese, port jen na domácí a VPN adrese.
Limity AI
Token Claude Code ze serveru a jeho rozhraní pro využití předplatného. Dotaz jednou za 5 minut, při odmítnutí se respektuje požadovaná pauza a drží poslední hodnoty.
Telefon
Jedna HTML stránka, návrhová plocha ve velikosti displeje na šířku, transformem přeškálovaná a na výšku otočená. Dvojité klepnutí ji převrátí, když je zamčené otáčení. Wake Lock API se zkouší, spoléhá se ale na Automatický zámek: Nikdy.
Hra
Detekce na serveru: zátěž grafiky nad prahem po zadanou dobu, nebo FPS z RTSS přes HASS.Agent (PowerShell čte sdílenou paměť RTSS, tři senzory: FPS, 1 % low, název hry). Ping jako TCP connect ze serveru na dva cíle, průměr, rozptyl a ztráta z deseti vzorků. Prahy a cíle jsou v proměnných prostředí.
Režimy a prahy kdy co svítí
RežimKdyCo dělá
Živěpočítač aktivníplný dashboard
Klid3 min bez vstupu42 % krytí, obsah pomalu bloudí
Černá5 min bez vstupu nebo počítač spíčistá černá, jen slabý čas, displej dál svítí
Hragrafika nad 60 % půl minuty, nebo FPS z RTSSherní board, přednost před nečinností, konec minutu po hře
Spíagent přestal hlásit„Systém spí“, po minutě černá
Bez spojeníserver neodpovídáoranžová obrazovka, pokus každé 2 s

Teploty: procesor v normě do 70 °C, zvýšená do 85, vysoká do 95, pak kritická. Grafika o pár stupňů přísněji. Limity: v pořádku do 70 % využití, docházejí od 70 %, kritické od 90 %. FPS: plynulé od 60, slabší od 30, pod 30 se trhá. Každý stav nese barvu i slovo.

Pasti a jejich řešení pro ty, kdo to staví taky

Kontejner s vlastním uživatelem nepřečte soubor s tokenem (práva jen pro vlastníka), musí běžet pod stejným uživatelem. Bind mount jednoho souboru zestárne, když ho program přepisuje atomicky, mountuje se celý adresář. Rozhraní s limity vrací 429 už při dotazu jednou za minutu. Windows firewall: přes VPN adaptér byl port čidel otevřený i bez pravidla, po LAN ne. Headless Chromium nedovolí okno užší než 500 px, takže screenshot na výšku vypadal jako chyba v otáčení. A ve Windows se HASS.Agent hodí na detekci spánku: jakmile zmizí, jeho entity jsou hned nedostupné, integrace čidel to pozná až po neúspěšném dotazu. Herní board na šířku má okraj jen na straně s výřezem kamery, podle toho, jak je telefon otočený.

Dál

Související

Soukromí. Dashboard běží jen v domácí síti, z internetu není dostupný a nic neovládá, jen zobrazuje. Na stránce nejsou adresy, jména zařízení ani tokeny. Screenshoty ukazují totéž, co vidím na displeji: teploty, zátěž, procenta, FPS a název hry.