feat đ TP17 GO: 16 Shellys VLAN1âVLAN30 (Anker-Verfahren) + eco-Policy; TP17.2/TP19 angelegt
- migrate.py: anker-sicherer Runner (AP-Anker vor sta-Write, deanchor, auth, table) - 16 Shellys migriert (Pilot+2 Wellen), 22/26 auf VLAN30, VLAN1 shelly-frei - eco-Policy RSSI-basiert (AN >= -80, AUS < -80), provisorisch bis TP3.3 - bf.csv: 22 Shelly-Zeilen .41â.30, SectionâIOT - TP17.2 (Geräte-PW, zurĂźckgestellt/Kosmetik) + TP19 (cudy-Teardown + VLAN1-Retirement) angelegt - Verlorene KĂźchen-Shelly via HA identifiziert (Plug S Gen3, e4:b0:63:e4:1a:b8, bogus-IP 10.95.10.206 auf elektrosmog.c) â Remote-Recovery-Plan in TP19 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -353,7 +353,18 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
||||
- **Umsetzungs-Reihenfolge (fĂźr die eigene Session):** (1) **Reachability-Matrix je Host** (pve/NAS/macmini â jede Origin, read-only) BEVOR gruppiert wird; (2) **Interim-Sofortfix:** bf-Tunnel auf **pve-only** (pve erreicht alles auĂer gateway-dw) â 0Ă1033, reversibel; (3) reziprokes 3-Tunnel-HA bauen (CNAMEs re-pointen, 6 Connectoren, Token je Tunnel; NAS/macmini-Alt-Token entfernen); (4) tote Origins bereinigen; (5) Access-Strang (WARP + vw); (6) Loop-Gegentest.
|
||||
- Abh.: TP14.1/14.2 â
. Verwandt: **TP11** (CF-Tunnel-Track-B/C + Access), #1033. SSoT: `docs/cf-tunnel-mapping.md`. Memory `project_cf_tunnel_1033`.
|
||||
|
||||
### TP17 â Shelly-Ăbersiedelung VLAN1 â VLAN30 (IOT) + `shelly-mcp` ⸠ⳠWIP (go-ready, ~5/26 migriert) â `mcp/shelly/`, Runbook `docs/tp17-shelly-go-runbook.md`
|
||||
### TP17 â Shelly-Ăbersiedelung VLAN1 â VLAN30 (IOT) + `shelly-mcp` ⸠â
WLAN+IP DURCH (22/26, 2026-07-13); Geräte-PW + cudy-Teardown offen â `mcp/shelly/`, Runbook `docs/tp17-shelly-go-runbook.md`
|
||||
- â
**GO durchgezogen 2026-07-13 (16 Shellys VLAN1âVLAN30, 0 Fehler):** Pilot s26 + Welle A (s4âs9) + Welle B (s10/11/13/15/17/19/20/21/25) â alle auf `dirtyvader-iot`/`10.40.30.<octet>` verifiziert (SSID+IP+rssi). Mit den 6 Vorab-Migrierten (s14/16/18/22/23/24) = **22/26 auf VLAN30**; VLAN1-Sweep `.180-250` = **0 Shellys**. Offen nur 4 saisonal ausgesteckte (s1/s2/s3/s12 â beim Einstecken).
|
||||
- đ§ **Anker-Verfahren (User-Idee, statt sta1-Backup):** je Gerät **vor** dem sta-Write die geräteeigene **AP-Funktion** aktiviert (`WiFi.SetConfig ap.enable` â Firmware verlangt WPA2, kein offenes AP â PSK=IOT-PSK, live/kein Reboot) = Notanker, falls VLAN30-Join scheitert (Gerät bleibt Ăźber `Shelly*-<mac>`-AP erreichbar, **kein physischer Reset**). Nach Verify alle 22 AP-Anker wieder `deanchor`t. Runner: `mcp/shelly/migrate.py` (`migrate`/`deanchor`/`auth`/`table`, Dry-Run default, stoppt bei erstem Fehler, reused `discover.py`).
|
||||
- â
**HA-Cross-Check nach Batch:** einzige `unavailable` Shelly-Entities = **s12** (saisonal aus) â alle 22 migrierten reconnecten via mDNS/zeroconf (TP7-Repeater vlan30âvlan20-HA) auf neuer `.30.x`-IP, **Entity-IDs unverändert** (keyt per MAC). Inventar `inventory/bf.csv` .41â.30 nachgezogen (22 Zeilen, SectionâIOT).
|
||||
- â ď¸ **Coverage-Flag:** `s4 kueche_mikrowelle` verbindet mit **rssi â93** (Metallgehäuse), hat aber verifiziert â grenzwertig, im Auge behalten. s7 TiefkĂźhl â85. Rest gut (â26âŚâ81).
|
||||
- â
**Eco-Mode-Policy (2026-07-13, PROVISORISCH):** eco senkt CPU-Takt + WiFi-TX-Leistung â **eco AN fĂźr RSSI ⼠â80** (Energie-Win, TX irrelevant), **eco AUS fĂźr < â80** (Uplink-Headroom): s4/â91, s7/â88, s17/â81, s18/â79âŚâ82, s19/â86 â 17Ă ON / 5Ă OFF, live via `Sys.SetConfig device.eco_mode` (kein Reboot). s4 (KĂźchen-Sockel/Metall, â91, fix) bewusst eco-OFF = schwächster Link. âł **2. Eval nĂśtig nach TP3.3** (WLAN-Ausrichtung/Aufbau ändert RSSI â Grenzfälle neu bewerten; User 2026-07-13).
|
||||
- â
**HA-Referenz http vs https geklärt (2026-07-13):** HA speichert `configuration_url` fĂźr **alle 22 Shellys bereits `http://10.40.30.x:80`** (Integration korrekt + neue IPs Ăźbernommen). Das âhttps" ist **client-seitig** (Mixed-Content-Upgrade, wenn HA selbst Ăźber https/Tunnel geĂśffnet) â **kein HA-Fix mĂśglich/nĂśtig, Shelly-SSL bewusst NICHT** (CPU/Energie, IoT-Netz). â ď¸ Rand-Fund: 1 HA-Shelly-Device zeigt auf `10.95.10.206` (Fremd-Subnetz, nicht BF) â separat prĂźfen.
|
||||
- âł **NOCH OFFEN:** (1) einheitliches Geräte-PW â **zurĂźckgestellt als [[#TP17.2]]** (Kosmetik, User 2026-07-13). (2) Nicht-Shelly-Mover + cudy-Teardown + VLAN1-Client-Retirement â **eigener aktiver TP19** (nächste Priorität, User 2026-07-13). (3) DNS/ip-plan Restfeinschliff (mit TP19).
|
||||
|
||||
#### TP17.2 â einheitliches Geräte-Passwort (Shelly `SetAuth`) ⸠â¸ď¸ ZURĂCKGESTELLT (Kosmetik, User 2026-07-13)
|
||||
- **Was:** je Gerät `Shelly.SetAuth` (User `admin`, realm-individueller `ha1` = sha256("admin:<device-id>:<pw>"), einheitliches Klartext-PW) via `mcp/shelly/migrate.py auth --go`. `SHELLY_DEVICE_PW` liegt in `mcp/shelly/.env` (gesetzt, len 13). Runner + Digest-Auth-Fallback in `_rpc` fertig.
|
||||
- **Warum zurĂźckgestellt:** rein kosmetisch/Härtung; **bricht die HA-Shelly-Integration**, bis pro Config-Entry (22Ă) das Credential neu eingetragen ist â disruptiv, kein Mehrwert im abgeschotteten IOT-VLAN. **Erst nach** dem Netz-Teardown (TP19) neu bewerten.
|
||||
- **Ziel:** ~26 Shellys (aktuell untagged VLAN1 `10.40.41.2xx`, weil auf **alt-WLAN cudy**, s. TP3.1/`project_vlan1_dhcp_incident`) auf SSID **`dirtyvader-iot`** (VLAN30, `w2-iot`, WPA2/WPA3-mixed, PSK `74c9L283$669`) umklemmen â DHCP `dhcp-v30`/pool-v30 (live). **Kein netzseitiger Move mĂśglich** (anderes WLAN) â per-Gerät WiFi-Reconfig.
|
||||
- **User-Entscheide (2026-07-11):** (1) **volles `shelly-mcp`** bauen (reusable, nicht nur Skript); (2) **Pilot 2â3, dann Rest**; (3) **DHCP-Reservierungen je MAC** in VLAN30 (stabile IPs fĂźr HA/ioBroker/DNS).
|
||||
- â
**Recon durch (`mcp/shelly/discover.py`, read-only /shelly-Sweep):** 16 live, **alle Gen3/Gen4** (uniforme RPC-API `WiFi.SetConfig`, auth=off â kein Gen1-Sonderfall). 10 âoffline" = **weihnachten_\*** (s1/s2/s3, saisonal ausgesteckt Juli) + s12/s14/s16/s18/s22/s23 (aus/DHCP-drift). â ď¸ **Inventar-Fix:** s6 (kueche_kuehlschrank, `.213`) MAC falsch erfasst (`0c:72:74:36:90:9e`) â real **`d0:cf:13:d8:18:fc`**. s24 hat gar keine MAC.
|
||||
@@ -382,6 +393,21 @@ FT kaschierte das bisher als âRoaming" statt âschwache Abdeckung".
|
||||
- **Offen (Modell scharfstellen):** realer Strompreis; ob **FM/DW eigene Nodes stellen** oder Christoph HW hinstellt; Backup-Tool-Wahl (restic vs Kopia); ob heiĂes Zeug kĂźnftig auf ZFS/pve statt Syno.
|
||||
- Abh.: **TP10** (WG-Multi-Site = Transport, Upload-BW-Constraint), **TP14** (Container-Hosts), **TP15** (Node-HW/USV), Muster von **TP16** (reziprokes Per-Host-HA). Kein Blocker fĂźr laufende TPs. SSoT dieser Session.
|
||||
|
||||
### TP19 â cudy-Teardown + VLAN1-Client-Retirement ⸠đ AKTIV (nächste Priorität, User 2026-07-13)
|
||||
- **Ziel (Kapstein der Segmentierung, s. Zeile 27):** altes **cudy-WLAN weg** + **VLAN1 als Client-Netz stilllegen** (`defconf`/pool-v1-Client-DHCP zurĂźckziehen). **Nicht** VLAN1 komplett: Switch-/AP-Mgmt (sw1 `.11`/sw2 `.12`/ap2 `.2`) bleiben **by design** in VLAN1 (statisch, kein DHCP nĂśtig) bis zum separaten **MGMT-VLAN99-Cutover** (eigener TP). cudy1/cudy2 = `.41.246`/`.247` (Teardown-Ziele).
|
||||
- đŻ **User-Gate (2026-07-13): sobald die verlorene Shelly + SwitchBot laufen â VLAN1 + cudy-WLAN auĂer Betrieb.** Twinkly nebenher (saisonal).
|
||||
- **Verlorene Shelly â IDENTIFIZIERT via HA 2026-07-13** (User-Hinweis âdu siehst ihn im HA"): HA-Device `shellyplugsg3-e4b063e41ab8`, **Modell = Shelly Plug S Gen3**, **MAC `e4:b0:63:e4:1a:b8`**, HA-device_id `7a21e8f3349e6660f8b35974fc989a7b`. **NICHT im 26er-Inventar** (Spare/KĂźchen-Steckdose, die Christoph beim Einrichten verbockt hat; er nannte sie âkĂźche s20", aber s20=`98:a3:16:7c:5f:ec` läuft sauber auf `.30.206` â Verwechslung). **KEIN AP-Mode, nicht tot:** assoziiert am **Altnetz `elektrosmog.c`** (cudy â untagged VLAN1-L2), aber mit **bogus-IP `10.95.10.206`** (Fremd-Subnetz, User-Fehler) â unrouting-bar, daher weder in VLAN1/30-Sweep noch normal per IP erreichbar, aber **per MAC in HA/WiFi-Table sichtbar**. Der `.219/s12`-Verdacht war Sackgasse (s12 nur saisonal aus).
|
||||
- **Recovery-Plan (remote, fĂźr neue Session, NACH SwitchBot â User-Reihenfolge):** ap1 bekommt **temporäre Zweit-IP `10.95.10.1/24` auf der Bridge** â `10.95.10.206` per L2 erreichbar â **ein** `WiFi.SetConfig {sta: ssid=dirtyvader-iot, pass=IOT-PSK, static, ip=10.40.30.<frei>}` + `Shelly.Reboot` â Gerät kommt auf VLAN30 hoch â temp-IP entfernen. Danach `.30.x`-Reservierung + Inventar (MAC `e4:b0:63:e4:1a:b8`) + eco-Policy. Umgeht die âblutige Nase" (IP am Gerät ändern während man drauf hängt = Verbindungsverlust) â vom Router aus in einem Rutsch. Christophs manueller Direkt-Versuch (AP-IP auf 10.40.30 âverdrehen") war genau deshalb gescheitert.
|
||||
- **SwitchBot floor-lamp** `.41.184` (`b8:f8:62:09:f2:04`, live auf VLAN1/cudy) â **VLAN30 via SwitchBot-App** (kein Local-WiFi-API, nur App/BLE-Provisioning), Res. `.30.227` liegt. = Christoph-App-Task.
|
||||
- â ď¸ **Prereqs â restliche VLAN1-Clients umziehen, SONST verwaisen sie beim cudy-Tod** (live ap1-ARP 2026-07-13):
|
||||
1. **Christophs Endgeräte â VLAN10** (`dirtyvader-main`): MacBook-Air `.41.182` (`c0:c7:db:de:71:be` â **= Claude-Sandbox-Client!** vor cudy-Abschuss umhängen, sonst Zugangs-Verlust), iPhone `.41.186` (aktuell off/asleep).
|
||||
2. **2 UNIDENTIFIZIERTE VLAN1-Geräte (2026-07-13):** `.41.133` (`02:11:32:22:1e:25`, lokal-administrierte/randomisierte MAC â Phone-Random? VM?) + `.41.198` (`34:2b:6e:6f:1f:ef`) â **vor Teardown identifizieren + verorten.**
|
||||
3. **Media â VLAN40 verifizieren:** Apple TV 4K + Philips TV 50PUS7304 (beide **aus**) einschalten, prĂźfen VLAN40 vs cudy/VLAN1. â ď¸ **Apple TV = vmtl. Thread-Border-Router** der 22-Matter-Flotte â nicht sorglos stromlos (TP17.1).
|
||||
4. **Saisonale Shellys s1/s2/s3/s12** (aus): nach cudy-Tod zeigt `sta` auf tote cudy-SSID â beim Einstecken AP-Mode statt Join. **Empfehlung: vor cudy-Abschuss** kurz einstecken + `migrate.py`, sonst AP-Onboarding später.
|
||||
5. **pve-Interim-IP `.41.100`** (bewusst als Fallback belassen) beim Teardown mit abräumen. Streu-Reste final per ARP/DHCP-Sweep auf 0.
|
||||
- **Teardown-Sequenz (nach Prereqs):** VLAN1-Client-Sweep = leer (nur Mgmt bleibt) â cudy1/cudy2 stromlos/Reset/ausbauen â ap1 `defconf`/pool-v1-Client-DHCP zurĂźckziehen (VLAN1-Mgmt-Reachability fĂźr sw1/sw2/ap2 erhalten) â Interim-KrĂźcken aufräumen (ap2 `frame-types=admit-only-vlan-tagged` = auto-weg mit VLAN1; `st-main rrm/wnm` Roaming-Provisorium neu bewerten) â Inventar/`ip-plan`/DNS `.41âZiel` final.
|
||||
- Abh.: **TP14 â
** (Hosts raus aus VLAN1), **TP17 â
** (Shellys raus). Verwandt: `project_vlan1_dhcp_incident` (cudy-Dual-DHCP-Leak), **VLAN99-MGMT-Cutover** (Folge-TP, entkoppelt), TP5 (Deny-by-default danach sauberer). SSoT hier + Runbook.
|
||||
|
||||
### TP-R â Router-Capabilities-Sweep ⸠FERTIG (`docs/research/routeros-capabilities.md`)
|
||||
- **Leitsatz: nativ vor Container, NAS vor Router** (128MB-Flash-Limit).
|
||||
- **Sofort nativ (~0 RAM):** RoMON ¡ Netwatch ¡ Scheduler + Auto-Backup/Mail ¡ SNMPâexternes Monitoring ¡ **mDNS-Repeater** ¡ spectral-scan ¡ **CAPsMAN + 802.11r/k/v (Fast-Roaming statt Mesh)** ¡ Back-to-Home/WireGuard.
|
||||
|
||||
Reference in New Issue
Block a user