Unterstützung für die DHD Control API

Guten Abend zusammen,

unterstützt mAirList die DHD Control API (WebSocket + JSON)?

Hier im Forum und auch im Wiki konnte ich dazu leider nichts finden. Nur Informationen zur Toolbox Software, Ember+ und TCP/IP generell.

Eventuell gibt es eine Bridge, um darüber Events an mAirList zu senden (z. B. über REST)?

Es wäre natürlich super, wenn mAirList das nativ unterstützt, um eine einfache Konfiguration zu ermöglichen.

Vielen Dank für eure Hilfe!

Freundliche Grüße
Oliver :slight_smile:

Die Control API wird in mAirList 7.4 bereits unterstützt.

Ich habe das damals nicht groß im Changelog erwähnt, da die API zu dem Zeitpunkt von DHD noch gar nicht offiziell angekündigt war. Wir waren einer der ersten Softwarehersteller, die die API implementieren durften.

2 Likes

Super, vielen Dank für die Info! :+1:

Dafür benötige ich dann das „DHD Modul“ nehme ich an? Sprich die Version Advanced Plus?

Funktioniert die Konfiguration dann über ein Menü in mAirList oder müsste selbst programmiert werden?

Advanced Plus oder Professional, ja.

Es kann alles über die GUI konfiguriert werden. Ähnlich der Konfiguration des “alten” ECP-Protokolls.

1 Like

Vielen Dank für die tolle Hilfe und auch für die Implementierung! :slight_smile:

Ich müsste das Thema doch noch einmal aktivieren.

Ich habe zu Testzwecken die Demo-Lizenz für die Advanced Plus aktiviert und erst mal die Basics in der Konfiguration angelegt. Das hat auch alles selbsterklärend geklappt.

Wenn ich dann allerdings mAirList starte, stürzt es ab. Ein Blick in die Log-Datei hat mir folgenden Error ausgespuckt:

{"Timestamp":"2025-06-30T11:40:26.227","Level":"Error","Message":"DHD Control API: Error: {\"error\":{\"code\":1201,\"message\":\"invalid request\"},\"method\":\"auth\",\"success\":false,\"token\":\"\",\"user\":null}"}

Das liegt sehr wahrscheinlich daran, dass ich das Feld “Token” in der Konfiguration leer gelassen habe. Die WebSocket-URL ist aber richtig, da die Verbindung geklappt hat.

Kann es sein, dass mAirList so programmiert ist, dass zwingend ein Token vorhanden sein muss? Das wäre in meinem Fall suboptimal, da in der Dokumentation für das DHD steht, dass es keine Tokens gibt und daher auch keine nötig sind sowie die “auth Method” nicht im Voraus gesendet werden muss.

Wäre super, wenn da noch einmal drübergeschaut werden könnte! :slight_smile:

Ein Token ist zwingend erforderlich.

Wo hast du das her, dass angeblich keine Token existieren oder erforderlich sind?

Ich lese in der Doku zum Websocket bezüglich des auth-Requests:

Required after connecting to the WebSocket to authenticate the connection. Without a valid authentication, no other commands will be accepted. Also required when reconnecting.

PS: Vielleicht wäre es gut, wenn du nochmal kurz deine Hardwareumgebung beschreibst. Also insbesondere um was für einen Core (XC3? XD3? RM1?), und welche Firmwareversion.

Es ist das DHD RM1. Die Information stammt aus der offiziellen Dokumentation, die hier einsehbar ist: Using control API | User Guide

Software-Version ist die 1.2.0.1

Ok, über die Besonderheiten des RM1 wurde ich bislang nicht aufgeklärt. Ich hatte nur mit herkömmlichen Cores zu tun.

Dann teste doch bitte mal den nun vorliegenden Snapshot 5839.

1 Like

Ja, jetzt läuft es. Super, vielen Dank! :slight_smile: