M30: Experte-Tab Mode-Taste-Menü + SSH-Trust-/REST-Fixes

Neues Schema für /system routerboard mode-button (enabled/on-event/
hold-time), live gegen echte Hardware verifiziert.

Dabei drei echte Bugs gefunden und gefixt:
- SSH-Trust-Dead-End beim ersten Experte-Tab-Schreiben (Backup-vor-
  Schreiben-Pfad hatte keinen Weg, den Trust-Dialog auszulösen) —
  ConnectionService.noteUntrustedSSHHostKey
- RouterOSFieldSchema.clearable: optionale Felder senden nie mehr
  einen expliziten Leer-Wert, wenn das RouterOS ablehnt
- RouterOSMenuSchema.writesRequireSSH + ConnectionService.applyViaSSH:
  für Menüs ohne REST-Anbindung (bewiesen per direktem SSH-Test) wird
  zwingend eine dedizierte SSH-Verbindung genutzt statt REST

Live Ende-zu-Ende bestätigt: Skript anlegen, Mode-Taste zuweisen,
Tastendruck löst Skript korrekt aus.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Kay
2026-09-17 15:14:31 +02:00
co-authored by Claude Sonnet 5
parent 221b914b05
commit 6f29bbcb2b
13 changed files with 272 additions and 14 deletions
+15
View File
@@ -414,6 +414,21 @@ RouterOS-Menü: `/system clock` · REST-Pfad: `system/clock`
|---|---|---|---|---|---|
| Zeitzone | `time-zone-name` | Text | Nein | — | Z.B. Europe/Berlin. |
#### Mode-Taste *(Einstellungsmenü — genau ein Eintrag, kein Anlegen/Löschen)*
RouterOS-Menü: `/system routerboard mode-button` · REST-Pfad: `system/routerboard/mode-button`
Steuert, welches Skript beim Drücken der physischen Mode-Taste am Router ausgeführt wird.
Manche RouterBOARD-Geräte (z.B. hEX, cAP, hAP ac², LtAP mini, einige CCR/CRS) haben eine physische Mode-Taste an der Seite. Hier lässt sich festlegen, ob und wie lange sie gedrückt werden muss, damit ein zuvor unter "Skripte" angelegtes Skript ausgeführt wird.
> ⚠️ **Achtung:** Ab RouterOS 7.1rc4 muss jede Aktivierung oder Änderung dieser Einstellung zusätzlich durch einen physischen Tastendruck (Reset- oder Mode-Taste) innerhalb von 60 Sekunden am Gerät selbst bestätigt werden — eine Änderung über diese App allein reicht nicht.
| Feld | RouterOS-Parameter | Typ | Pflicht | Standard | Hilfetext |
|---|---|---|---|---|---|
| Aktiviert | `enabled` | Ja/Nein | Nein | `no` | Mode-Taste ein-/ausschalten. |
| Auszuführendes Skript | `on-event` | Verweis auf bestehenden Eintrag unter `/system script` | Nein | — | Name eines zuvor unter "Skripte" angelegten Skripts. |
| Haltedauer (Min..Max) | `hold-time` | Text | Nein | — | Wie lange die Taste gedrückt gehalten werden muss, als Zeitspanne Min..Max, z.B. "3s..5s". Verfügbar ab RouterOS 6.47beta60. |
#### Zeitserver (NTP) *(Einstellungsmenü — genau ein Eintrag, kein Anlegen/Löschen)*
RouterOS-Menü: `/system ntp client` · REST-Pfad: `system/ntp/client`