NEWS
Bedienpanel wie einbinden
-
Hallo
Ich bin gerade dabei ein Bedienpanel selbst zu bauen.
Als Basis verwende ich einen ESP32-S3 mit Touchpanel.
Die Anbindung zu ioBroker erfolgt über MQTT. Die Hardware und MQTT läuft soweit.Meine bisherige Idee war, auf dem Display Steuerelemente anzuzeigen, z.B. Status und Helligkeit einer Lampe.
Die Steuerelemente sind fest mit einem Topic verbunden. Eine Ändeurng auf dem Beidenpabel ändert das Topic auf dem MQTT Server, eine Änderung auf dem Server wird auf das Bedienfeld übertragen und aktualisiert das Steuerelement. Das funktioniert soweit auch.Woran ich jetzt gerade hänge ist, wie ich den MQTT Datenpunkt mit dem Zigbee Datenpunkt der Lampe verbinde. Das Problem dabei ist, dass es eigentlich der selbe Datenpunkt sein müsste. Ich habe dein Eindruck, das ist im Design nicht vorgesehen. ein Alias oder ein "binde Objekt" in einem Skript geht immer nur in eine Richtung.
Ein weiteres Problem ist, dass ich die Aktualisierungsrate in Richtung Zigbee begrenzen muss. Dass ist z.B. für den Helligkeitsslider relevant.Mein erster Versuch die Datenpunkt zu verbinden war ein einfaches Blockly Skript, welches mit Triggern auf einen Datenpunkt hört und dann den anderne ändert. Danach kommen 500ms Pause. Ganz so einfach war das nicht. Da es in die andere Richtung auch einen Trigger gibt, schwingt das ganze.
Ich habe mir überlegt, den Code für das Bedienpanel zu ändern, dass für jedes Bedienelement ein in und ein out Topic erstellt wird. Das in topic werden dafür verwendet den Tatsächlichen Zustand der Lampe anzuzeigen, das out Topic wird wie ein physikalischer Taster verwendet, welcher ein Skript steuert. Das würde die Datenpunkte jedohc etwas unübersichtlich machen.
Da ich nicht der erste mit diesem Problem bin wollte ich fragen, ob mir jemand einen Tipp geben kann, wie man so etwas ein sinnvollsten umsetzt.
Vielen Dank.