DTU-Pin an ap2 fehlgeschlagen und zurueckgerollt -- feste Kanalwahl ist die Ursache

Auftrag war, den nicht abschaltbaren DTU-AP von ch1 wegzubekommen, indem man den
Client per access-list an ap2 bindet. Transaktion TP17.1-dtu-pin-ap2 eroeffnet, fuenf
reject-Regeln auf ap1s 2,4-GHz-Interfaces deployt. Der DTU flog um 14:38:48 von ap1
und kam bei ap2 nie an. Nach 2,5 Minuten zurueckgerollt, access-list ist wieder leer.

Ursache ist Christophs Verdacht und protokollseitig belegbar: SetConfig.proto kennt
channel_select (Feld 9). Der eigene AP des Geraets sendet auf ch1, und ein ESP hat ein
Radio -- AP und STA teilen zwingend den Kanal. ap2 laeuft auf ch11, dort kann das
Geraet gar nicht assoziieren. Die Sperre hat es also nicht umgeleitet, sondern
ausgesperrt. Christophs Wiederverbindungsversuch ueber S-Miles scheiterte mit genau
der Meldung, die er von Frequenz-Fehlanpassungen kennt.

Damit ist meine Empfehlung "AP-Kanal verschieben, indem man den Client bindet" fuer
dieses Geraet widerlegt und im Text durchgestrichen. Sie gilt weiter fuer frei
scannende Geraete wie die Shellys.

Zwei Merkregeln festgehalten:
- Ein reject auf AP A ist keine Umleitung auf AP B, sondern ein Rausschmiss. Ob das
  Geraet woanders unterkommt, ist seine Entscheidung. Bei fixem Kanal: nirgends.
- Vor einem Pin pruefen, ob der Client den Kanal des Ziel-APs ueberhaupt benutzen
  kann. Der Beleg lag vor: DTU-AP auf 2412, ap2 auf 2462. Signalstaerke ist kein
  Nachweis fuer Assoziationsfaehigkeit -- meine Abnahme war zu lasch.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-23 14:47:55 +02:00
parent 0685fec6e7
commit c9a8256e9f
3 changed files with 60 additions and 1 deletions

View File

@@ -409,7 +409,7 @@ Einzelfall ist erklärt.
dem Protokoll auf 10081 wäre es sogar unproblematisch**, weil die Konfiguration auch ohne AP
erreichbar bliebe. *(Mein früheres Gegenargument „dann käme man gar nicht mehr an die Konfiguration"
beruhte auf dem falschen Port-Befund und ist damit hinfällig.)*
- 🎯 **Der Hebel, den es praktisch gibt: den AP-Kanal verschieben.** Ein ESP hat **ein** Radio —
- 🎯 ~~**Der Hebel, den es praktisch gibt: den AP-Kanal verschieben.**~~ 🔴 **WIDERLEGT am 2026-08-23 — s. Fehlschlag unten.** Ein ESP hat **ein** Radio —
**AP und STA laufen zwangsläufig auf demselben Kanal**. Der DTU-AP sitzt auf **ch1**, weil seine
STA-Verbindung an einem AP auf ch1 hängt. **Bindet man den Wechselrichter per `access-list` an ap2
(ch11), wandert sein AP mit.** Werkzeug wie in TP25 ([`tp25-pin-s22.sh`](tp25-pin-s22.sh)); seit
@@ -418,6 +418,47 @@ Einzelfall ist erklärt.
**Client**, nicht den AP.
- 🔴 **Nicht auf Verdacht am Gerät herumprobieren:** die PV-Datenstrecke ist produktiv.
#### 🔴 Versuch „DTU an ap2 binden" — FEHLGESCHLAGEN und zurückgerollt (2026-08-23)
**Auftrag:** den nicht abschaltbaren DTU-AP von ch1 wegbekommen, indem man den *Client* an ap2 (ch11)
bindet — die Idee „verschieben statt abschalten" aus dem Absatz oben.
**Ablauf:** Transaktion `TP17.1-dtu-pin-ap2` (Scope `wifi-access-list`) eröffnet, fünf
`action=reject`-Regeln für `54:F2:9F:12:51:F0` auf ap1s 2,4-GHz-Interfaces per ConfigPlan deployt.
Der DTU flog um **14:38:48** von `cap-wifi4-virtual1` (`disconnected, access-list changed, signal
strength -51`) — **und kam nie bei ap2 an.** Nach 2,5 Minuten zurückgerollt; auch danach blieb er weg.
🎯 **Die Ursache ist Christophs Verdacht, und sie ist am Protokoll belegbar: der DTU hat eine feste
Kanalwahl.** `SetConfig.proto` kennt **`channel_select` (Feld 9)** und `netmode_select` (8). Zwei
Beobachtungen bestätigen es:
- Sein **eigener AP sendet auf ch1** — und ein ESP hat **ein** Radio, AP und STA teilen zwingend den
Kanal. Der AP auf 2412 heißt: **das Radio steht auf Kanal 1.**
- Christophs Wiederverbinden über die **S-Miles-App** scheiterte mit „Verbindung fehlgeschlagen" —
das Symptom, das er von Frequenz-Fehlanpassungen kennt.
⇒ **ap2 läuft auf ch11. Der DTU kann dort gar nicht assoziieren.** Die Sperre auf ap1 hat ihn deshalb
nicht *umgeleitet*, sondern schlicht **ausgesperrt**.
🔴 **Damit ist die Empfehlung „AP-Kanal verschieben, indem man den Client bindet" für dieses Gerät
WIDERLEGT.** Sie gilt weiter für Geräte, die frei scannen (z.B. die Shellys) — **nicht** für ein
Gerät mit fixierter Kanalwahl. Wer den DTU-AP wirklich von ch1 wegbekommen will, hat nur zwei Wege:
**(a)** `channel_select` per `SetConfig` über Port 10081 ändern — ein Schreibvorgang am produktiven
Wechselrichter, mit der bekannten Falle, dass `SetConfig` den *ganzen* Satz überträgt; oder
**(b)** ap1 selbst auf einen anderen Kanal legen — dann folgt der DTU-AP dorthin, wo ap1 ist.
*(b) ist der ungefährlichere Weg und wird mit dem Kanalplan für die zwei neuen APs ohnehin neu gestellt.*
📌 **Zwei Merkregeln, die das gekostet hat:**
1. **Ein `reject` auf AP A ist keine Umleitung auf AP B.** Es ist ein Rausschmiss — ob das Gerät
woanders unterkommt, ist seine Entscheidung, nicht unsere. Bei Geräten mit fixem Kanal, fixem
BSSID oder trägem Rescan ist die Antwort: **nirgends.** Das ist dieselbe Klasse wie die
TP25-Falle „ein abgewiesener Verbindungsversuch ist von einem Funkloch nicht zu unterscheiden".
2. **Vor einem Pin prüfen, ob das Ziel überhaupt erreichbar ist** — also ob der Client den Kanal des
Ziel-APs benutzen *kann*. Der Beleg lag die ganze Zeit vor: der DTU-AP sendete auf **2412**, ap2
läuft auf **2462**. Das war vor dem Eingriff sichtbar und hätte ihn verhindert.
⚠️ **Und die Abnahme war zu lasch:** „ap2 hört den DTU mit −59 dBm" belegt nur, dass ein *Pfad*
existiert — nicht, dass der Client diesen Kanal benutzen darf. **Signalstärke ist kein Nachweis für
Assoziationsfähigkeit.**
### Was das für die Zigbee-Kanalfrage heißt
- Das Fenster **2426–2448** (WLAN ch4–8), in dem ZB **16/17/18** liegen, ist **belegt, aber nur

View File

@@ -0,0 +1,14 @@
{
"change_id": "TP17.1-dtu-pin-ap2",
"device": "crs326-core",
"scope": "wifi-access-list",
"match_config": [
"/interface wifi access-list"
],
"reason": "DTU/Wechselrichter (54:F2:9F:12:51:F0) per access-list an ap2 binden. Grund: ein ESP hat EIN Radio, AP und STA teilen den Kanal -- der nicht abschaltbare DTU-AP sitzt auf ch1 (ap1) und stoert dort mit -59 dBm. Ueber ap2 wandert er auf ch11. Ist der Kanalplan nach dem Einbau der zwei neuen APs entschieden, wird das neu bewertet: entweder committen oder zurueckrollen.",
"started": "2026-08-23",
"expires": "2026-09-06",
"state": "open",
"snapshot": "docs/transaktionen/TP17.1-dtu-pin-ap2.snapshot.rsc",
"device_backup": ""
}

View File

@@ -0,0 +1,4 @@
# Snapshot des Scopes 'wifi-access-list' auf crs326-core, 2026-08-23 (Transaktion TP17.1-dtu-pin-ap2)
# Bewusst NUR dieser Abschnitt — der Vollexport gehoert nicht ins Repo.