Commit Graph

14 Commits

Author SHA1 Message Date
jerem
b6e8aa7225 Trackers: cache 1h + persistance disque (/data) pour survivre aux redéploiements 2026-06-17 12:06:02 +02:00
jerem
df9f384d57 Trackers: ajoute yggreborn (Flask, login email+CSRF), ratio seul
Type yggreborn : login form classique (identifier=EMAIL, password, csrf_token),
ratio lu dans l'en-tête (Ratio : X.XX). Pas de up/down ni jetons (ligne envoyé/
reçu rendue conditionnelle sur up/down>0).
2026-06-17 11:09:48 +02:00
jerem
f6f6694215 Trackers: ajoute tr4ker (SPA React, auth cookie) + jetons Crédit
Type tr4ker : login cookie TR4KER_session via POST /api/auth/login {identifier,
password}, profil GET /api/me. Ratio = (uploaded+bonus_upload)/(downloaded+
bonus_download), garde-fou download=0 -> 1 Go. Jetons = champ money, libellé
token_currency_name (Crédit).
2026-06-17 10:57:07 +02:00
jerem
291a076759 Trackers: ajoute le type torr9 (login JWT + /api/v1/users/me)
torr9 a une API Go dédiée (api.torr9.net) avec auth JWT (username/password).
Le ratio se calcule (total+bonus) up/down comme le frontend ; pas de champ
ratio dans l'API. Le passkey du compte ne sert qu'au RSS, pas au profil.
2026-06-17 10:39:09 +02:00
jerem
4680092f8a Trackers: section ratio/envoi/réception sous le NAS (c411, extensible)
Nouveau module integrations/trackers.py : pour chaque tracker configuré (env
MONITORINK_TRACKERS + bloc par clé), récupère ratio/uploaded/downloaded. Type
unit3d_nuxt (c411) : login session (CSRF meta + /api/auth/login) car le ratio
n'est pas lisible au token API ; session réutilisée, résultat caché (TTL 30 min).
Section dashboard sous le NAS, style instrument 1-bit. Architecture par type pour
ajouter d'autres trackers ensuite.
2026-06-17 10:04:30 +02:00
jerem
b1229e3dcc Codex: monte le dossier ~/.hermes (pas le fichier) pour suivre le rename du token
Le bind-mount d'un fichier unique reste accroché à l'inode capturé au
démarrage ; Hermes réécrit auth.json par rename atomique -> le conteneur
servait un token périmé (401), la section Codex disparaissait au refresh.
2026-06-16 16:35:49 +02:00
jerem
ca4febbc44 Refresh e-ink: multi-régions + full toutes les 2h (basé temps)
Le full refresh apparaissait trop souvent: getbbox() renvoyait un seul
rectangle englobant tous les pixels modifiés, donc météo (haut) + heure de
MaJ (ailleurs) qui changeaient au même cycle produisaient un rectangle
quasi plein écran -> ratio > partial_max_ratio -> full forcé.

- frame.py: détection des bandes horizontales modifiées disjointes
  (_changed_regions), refresh partiel serré par zone. Full basé sur le
  temps écoulé (last_full_at + time.monotonic) au lieu d'un compteur de
  cycles. État pngs/regions en liste, get_png(client, region).
- config.py: full_refresh_interval_minutes (MONITORINK_FULL_INTERVAL_MIN,
  défaut 120). Suppression de partial_max_ratio.
- app.py: /frame.meta renvoie un bloc multi-ligne "MODE SEQ N" + N régions
  "i x y w h"; /frame.png?region=i.
- monitorinkloop.sh: display_meta parse le bloc et fait N fbink partiels.
2026-06-16 14:06:49 +02:00
jerem
c7395d1c37 Refresh partiel e-ink : ne redessine que la zone changée, full refresh ~1h
Backend : endpoints /frame.meta (ligne 'MODE X Y W H SEQ') + /frame.png qui
servent un crop de la zone modifiée (diff PIL par client) ou l'image pleine.
Full refresh forcé tous les N cycles (MONITORINK_FULL_EVERY=12, ~1h) ou si la
zone change sur plus de 60% de l'écran. Mode 'noop' quand rien ne change.

Anti-429 : l'usage Claude est mis en cache (MONITORINK_USAGE_TTL=120s) avec
repli sur la dernière valeur connue en cas d'erreur transitoire.

Kobo : monitorinkloop.sh récupère meta puis png et fait un fbink partiel
(-g file=,x=,y=) sans flash, full refresh (-c -f) en mode full. Refresh 5 min.
2026-06-15 18:42:32 +02:00
jerem
0178f596ef Codex: vraies jauges 5h/hebdo via wham/usage (token Hermes monte ro) 2026-06-15 15:49:58 +02:00
jerem
319ff3f552 Ajout section Codex (conso 7j + statut limite) via dashboard Hermes 2026-06-15 15:27:13 +02:00
jerem
ca8f725b3a Ajout section NAS (disques, docker, port VPN) via nas_monitor /api/status 2026-06-15 14:58:56 +02:00
jerem
56f71c0ea6 Affichage paysage: canevas 1680x1264, rotation 90deg, layout 2 colonnes 2026-06-15 14:33:05 +02:00
74d33eb693 Claude: passage au login isolé + refresh (scope user:profile requis par /usage) 2026-06-15 11:03:51 +02:00
bc4cf89a4b Backend Monitorink: serveur PNG (Claude usage + météo + HA) 2026-06-15 10:49:31 +02:00