# Task #75 — nas2 auf toten Matrix-Token geprüft und repariert (2026-07-23) Nachtrag zu Task #70: nas2 (Synology, 100.111.0.111) war beim Hub-Fix per root-SSH nicht erreichbar, deshalb dort NICHT geprüft. Zugang geht nur per `ssh admin@100.111.0.111` (kein root), siehe Skill `tailscale-admin`. ## Befund Systemweite Suche (`grep -r` über `/volume1/docker/`, `/volume1/homes/`, Crontab) nach `syt_aGVybWVz`, `matrix`, `hermes`, `koerners.org` fand **zwei** Stellen mit dem exakt gleichen toten Hermes-Token aus Task #70 (`syt_aGVybWVz_pGkHRNGFSJJhRSAtCpnz_1Bgdx2`, 401 M_UNKNOWN_TOKEN) — beide unabhängig vom Hub-Fix, da nie synchronisiert: 1. `/volume1/docker/shadow-refresh/scripts/shadow/shadow_controller.py` (läuft im Docker-Container `shadow-refresh`, `_send_matrix_alert()`) 2. `/volume1/homes/admin/shadow_alarm.py` (läuft direkt per Synology-Crontab alle 2h als `admin`: `0 */2 * * * admin /usr/bin/python3 /volume1/homes/admin/shadow_alarm.py`) Beide hatten zusätzlich den gleichen verwaisten Alarm-Raum wie in Task #70 gefunden: `!bYMaQYlFbFfQGDmktu:matrix.consoro.eu` — mit dem neuen Hermes-Token per `joined_rooms`-Check verifiziert: Hermes ist dort **nicht** Mitglied (nur in `!wRgSkVkLNpGzehtWie:matrix.koerners.org` und `!whhWWnaOUNyVnhHwAV:matrix.koerners.org`). Ein reiner Token-Tausch hätte also weiterhin mit `M_FORBIDDEN` fehlgeschlagen. `matrix.consoro.eu` und `matrix.koerners.org` sind derselbe Synapse-Host (identische IP, 185.242.114.9) — nur der Hostname im Code war veraltet. ## Fix In beiden Dateien: - `MATRIX_TOKEN` → aktueller Hermes-Token (`/opt/mcp-server/secrets/credentials.json` → `matrix_hermes_token`, Vaultwarden "Matrix Bot Token (@hermes:matrix.koerners.org)") - Raum → `!wRgSkVkLNpGzehtWie:matrix.koerners.org` (derselbe verifizierte Alert-Raum wie Task #70 / `Post-ToMatrix.ps1`) - Hostname `matrix.consoro.eu` → `matrix.koerners.org` in den API-URLs **Backups (reversibel, nichts gelöscht):** - `/volume1/docker/shadow-refresh/scripts/shadow/shadow_controller.py.bak-20260723-224534-tokenfix` - `/volume1/homes/admin/shadow_alarm.py.bak-20260723-224534-tokenfix` Stale `__pycache__`-Datei mit altem Token-Bytecode gelöscht (`shadow_controller.cpython-310.pyc`), wird beim nächsten Lauf neu kompiliert. ## Beleg (echter Testpost von nas2 aus, mit dem exakten Code-Pfad aus `shadow_alarm.py`) ``` HTTP 200 {"event_id":"$rd7kC0HqU7gyAwY0JASd9FrLmL3ZD-ZbSjEcjBx8LWE"} ``` Nachricht im Raum `!wRgSkVkLNpGzehtWie:matrix.koerners.org`: "Testpost #75: nas2 shadow_controller.py + shadow_alarm.py auf neuen Matrix-Token umgestellt (alter toter syt_aGVybWVz_pGkHR... Token war 401). Beleg-Post." ## Nicht geprüfte/irrelevante Treffer Weitere Grep-Treffer auf "matrix" in `/volume1/docker/` waren False-Positives (node_modules von homebridge/Home Assistant, Wortbestandteil in Libraries wie `luxon.js`) — kein Bezug zu Matrix-Chat/Hermes. `/volume1/homes/admin/shadow_refresh.py` (separates Cron-Skript, auch alle Nacht 03:00) hat keinen Matrix-Bezug, nur Token-Refresh. ## Doku-Verteilung Dieser Eintrag nach Forgejo (`barby/hermes-erkenntnisse`) gepusht und nach Obsidian (`/volume1/Obsidian/Wissen/`) auf nas2 kopiert.