HKS mit HA - Die Anleitung zum Nachbauen - #03.06 DCX2496 DSP

  • Zurück zur Startseite und zum Inhaltsverzeichnis

    Voriges Kapitel: #03.05 JVC Beamer

    Downloads: #11 Downloads [HKV only]

    Version: 2024-04-11

    Integration eines DCX2496 DSP in Home Assistant via IP (RS232)





    Wie hier berichtet habe ich mir einen gebrauchten DCX2496 gekauft, um an mein Haus angepasste, dynamische Filter zur setzen, die gezielt starke Bass-Spitzen reduzieren, die ansonsten im Haus stören oder meine Frau vom Sofa werfen.


    RE: Reduktion des Schallpegels außerhalb des Kinos


    Das funktioniert wirklich perfekt!



    Um mit den Filtereinstellungen des DCX besser experimentieren und diese optimieren zu können, benötigt man eine Fernsteuerung.
    Die original Behringer Windows-Anwendung ist dafür schon recht gut geeignet aber nicht alltagstauglich.



    Daher habe ich zunächst die Serielle Schnittstelle des DCX2496 mit einem RS232-IP-Gateway modernisiert. Hier hatte ich das kurz berichtet.


    RE: Heimkino-Steuerung mit Home Assistant


    Dann folgte die vollständige Integration aller Kanäle und Parameter des DCX2496 mit der Programmierung einer Integration für Home Assistant.


    Um diese Integration nutzen zu können, müsste ihr euren DCX jedenfalls auch um ein IP-Gateway erweitern.

    Dieses RS232-IP-Gateway funktioniert bei mir ausgezeichnet!

    https://www.amazon.de/dp/B0CG173Y78


    Das Gateway ist bei mir wie folgt konfiguriert:



    Sobald die IP-Verbindung steht und der DCX via seriellem Kabel mit dem Gateway verbunden ist, kann man mit dem Gateway-Test-Tool (sscom5.13.1.exe) serielle Befehle an das angeschlossene Gerät senden und Daten empfangen. Hiermit kann man dann gut das Behringer-Protokoll http://jipihorn.free.fr/Projet…le/Doc/DCX%20protocol.pdf testen und mit einem Portsniffer herausfinden, dass die Behringer-Anwendung noch zusätzliche Schnittstellenbefehle nutzt die nicht in der Spezifikation stehen aber sehr hilfreich sind. ZB. Das Auslesen aller Parameter auf einmal und die Statusabfrage.



    Der DCX2496 hat, so wie man im kennt, 3 Eingänge, eine Eingangssumme und 6 Ausgänge. Gemacht für 5.1 und als Lautsprecherweiche.

    Die Eingänge und der Summenkanal haben jeweils 65 Parameter die Ausgänge jeweils 74. Zusätzlich gibt es noch die allgemeinen Setup-Parameter.

    Also insgesamt mehr als 700 Parameter! Die vollständige Integration war also herausfordernd.


    In der Entity sehen die Parameter wie folgt aus.



    Zum Ändern der Parameter stehen mehrere Services zur Verfügung. Das Grundlegende Service ist <dcx2496_dsp_nn.command> Die Byte-Folge entspricht der DCX-Spezifikation (siehe oben)



    Über das folgende Dashboard kann man alle DCX-Parameter anzeigen und ändern.

    (Jeder Kanal hat 9 Filter, und in diesem Dashboard stelle ich aber jeweils nur die Parameter der ersten beiden Filtern dar (EQ#1 und EQ#2) – Das könnt ihr bei Bedarf gerne erweitern)


    Zur Änderung eines Parameters klickt man auf diesen, damit wird dieser blau dargestellt. Und in der blauen Änderungskarte (rechts) wird dieser Parameter zur Änderung aufgelegt. Jede Paramteränderung wird sofort an den DCX übermittelt und aktiv.



    Umgekehrt, wenn man direkt am Bedienfeld des DCX einen Parameter ändert, wird dies sofort im HA-Dashboard markiert und angezeigt, da der DCX jede Änderung netterweise sofort wie Push auf der Schnittstelle ausgibt.


    Da ich in meinem Setup nur die Eingänge A und B sowie die Ausgänge 1,2 und 3 mit ausgewählten Parameter nutze, habe ich noch folgendes ein vereinfachtes Dashboard erstellt.



    Ok, noch immer zu viele Parameter und unübersichtlich. :-/

    Daher musste ich noch eine Preset-Funktion implementieren, denn die Presets der DCX in seinem Internen Speicher ablegt, kann man leider nicht über die Serielle Schnittstelle aktivieren.


    Die Presets dieser Integration sind in der Datei </custom_components/dcx2496_dsp_nn/dcx2496_presets.py> konfiguriert und können dort auch verändert werden.
    So gibt es zB. das Preset "P_DynEQ_light“ für dezente Dynamische Filter und das Preset „P_DynEQ_heavy“ für den Nachtmodus.
    Oder Presets um das DBA zu testen (Normal, Synchron oder nur Vorne).
    Und Presets für den Shacker.


    Im Preset werden die DCX-Parameter mit den gewünschten Werten eingetragen. Hier ein beispielhafter Auszug:



    Die Liste aller DCX-Parameter mit deren ID, Name und Wertebereich ist in der Datei /custom_components/dcx2496_dsp_nn/dcx2496_dicts.py zu finden.


    Zu guter Letzt kann man die Presets noch zu Preset_Groups kombinieren:



    DIe Presets kann man mit dem Service <dcx2496_dsp_nn.preset> aufrufen


    Hiermit sind wir wieder beim Screenshot vom Beginn dieses Posts.

    Dem DCX-Haupt-Dashboard. Hier kann man nun sehen welche Presets und Preset_Groups aktuell aktiv sind und diese auch umschalten.

    Hier ist also gerade die Preset-Group (=Modus) „Tag“ aktiv. Bestehend aus den Presets DBA=Normal, DynEQ=Normal, EQ#1=Spasskurve+3dB, EQ#2=Kicker_Aus, Shaker=0dB



    Bin schon gespannt ob jemand diese Integration nutzen wird. Ist doch eine sehr spezielle Integration und ein sehr altes Gerät.

    Aber wäre schade, wenn ich das nur für mich programmiert hätte.


    Übrigens, Home-Assistant hat am RPI5 keinen besonderen Stress mit diesen riesigen Dashboards und den hunderten Parametern. Hat mich positiv überrascht.

  • Namor Noditz

    Hat den Titel des Themas von „HKS mit HA - Die Anleitung zum Nachbauen - DCX2496 DSP“ zu „HKS mit HA - Die Anleitung zum Nachbauen - #03.06 DCX2496 DSP“ geändert.
  • Ich kann mich nur wiederholen:

    Das was du da macht ist echt beeindruckend!


    Leider verstehe ich davon nur einen Teil.

    Meine DCXn laufen zum Glück seit Jahren ohne, dass ich sie verstellt habe.

    Bei einer ist das Display kaputt, aber auch da war es bisher nicht nötig über die RS232 ran zu gehen.


    Ich finde das wirklich toll, aber es stehen noch so viele andere Dinge an die gemacht werden sollten, sodass ich da in absehbarer Zeit wohl nicht dazu komme das zu integrieren.

    Lese aber begeistert mit.


    mfg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!