MQTT-Geschwindigkeit CCU2 vs. Hardwaresender am RPi

Hallo zusammen,

aktuell versuche ich, eine Dockerinstanz in Verbindung mit einer CCU2 laufen zu lassen, um Homematic-Geräte zu steuren. Das klappt soweit ganz gut, bis auf ein paar Kleinigkeiten:

In Node-Red (bzw. dem Dashboar) habe ich erfolgreich einen Slider mit einem MQTT-Eingang und einem -Ausgang verbunden. Der angesteuerte Dimmer tut auch das, was er soll. Wenn ich nun den Slider von 10 % auf 90% ziehe, verharrt er kurz bei 90%, springt dann auf ~50% und dann wieder auf 90%. Das tut er, weil am Eingang ein MQTT-Paket ankommt, welches den Dimmprozess in einem Zwischenschritt beschreibt und dann nach 1-2s ein weiteres, welches das Ende ankündigt (die Helligkeit der Lampe stimmt durchgehend natürlich). Damit springt der Slider immer recht nervig hin und her. Mir ist klar, dass das an der RPC-Schnittstelle der CCU2 liegt und vermutlich nicht zu unterbinden ist…

Ist es möglich, mit einem Sendemodul auf einem RPi dieses Problem zu umgehen? D.h. kommen die Nachrichten dort schneller oder überhaupt nicht in Zwischenschritten?

Viele Grüße!

Hey @Poquaruse,

da gibt es im Slider bei node-red-dashboard extra einen Haken, der die ankommenden Nachrichten nicht weiter gibt (feedback loop).

56

Siehe auch: https://allgeek.de/2017/07/09/homematic-mit-node-red-ueber-homegear/

so long,
p

Hi @pmayer,

danke für die schnelle Antwort! Die Seite kenne ich natürlich – dadurch bin ich erst wirklich auf homegear aufmerksam geworden! :blush: Gefiel mir so gut, dass ich es ausprobieren musste!

Zum Thema: Der Haken ist natürlich nicht drin, sonst würde ja auch die Lampe heller/dunkler werden. Es geht lediglich um die Anzeige.

Im Prinzip lässt es sich auch auf die MQTT-Nachrichten reduzieren. Ich verändere die Helligkeit, dann kommen in kurzem Abstand zwei neue Level-Nachrichten: Von 0.1 auf 0.9 geändert, dann kommt in gefühlt <1s eine Nachricht mit einem Wert deutlich unter 0.9, dann nach etwa 2-3s der gewählte Wert von 0.9. Damit wird wohl der Dimm-Vorgang seitens CCU2 kommuniziert. Ist nicht schlimm, aber etwas nervig und nicht hübsch. Daher meine Frage: ist das CCU2-spezifisch? Falls ja, ließe es sich mit einem CC1101 o.ä. abstellen, da dort nur eine Nachricht mit dem richtigen (finalen) Wert generiert wird?

Viele Grüße!

1 Like

Vielen Dank für die Blumen :wink:

Da ich noch nie eine CCU2 hatte, kann ich das schlecht sagen. Leider habe ich auch keinen Homematic-Dimmer um das mal gegenzutesten.

Hast du mal mit den QOS Leveln rumgespielt? Könnte dir QOS0 beim Dimmer helfen?

Grüße,
Patrik

Hi Poquaruse,

die CCU2 meldet da nur das weiter, was der Dimmer-Actor ihr meldet. Mit Homegear ohne CCU (zumindest mit HM-LAN-GW und HM-CFG-LAN) zeigt sich das gleiche Bild.

Im Homematic log sieht man aber auch, dass diese Zwischenmeldungen direkt vom Aktor gesendet wird, leider!

Gruß Andreas

1 Like

Hi Andreas,

vielen Dank für deine Antwort, auch wenn sie leider unerfreulich ist… Du hast offensichtlich recht. Soweit ich das sehe, könnte man an zwei Punkten drehen. Man könnte RAMP_TIME auf 0 setzen, dann ist der Dimmer instantan da und dürfte eigentlich keine Datenpakete mehr schicken (muss ich mal prüfen, ob das wirklich so ist…). Alternativ könnte man die Verzögerung bis zum Senden der Meldungen reduzieren, was aber wieder zu anderen Problemen führen wird…

Viele Grüße

EDIT: Ich habe das kurz geprüft. Wenn man RAMP_TIME auf 0 setzt und dann erst die Helligkeit ändert, gibt es nur eine einzelne Meldung, keine zwei! Damit springt der Slider auch nicht hin und her. Nachteil: die Helligkeit wird direkt/sprunghaft eingestellt… Aber als Kompromiss taugt’s schon.

2 Likes