Homeassistant => Dashboard/lovelace cards sending "to many" commands to MQTT

Hi community
this is my first post in this Forum. I´m a home automation enthusiast since >12 years located in Germany. I have a complex configuration: KNX smart home (hundreds entities, everything in my house is KNX connected, 12 Alexas,…) with MQTT setup. I´m exploring home assistant since 2-3 month now.
KNX will be addressed (for good reasons) via MQTT,

I´ll try to add my dimmable lights - which works fine.
Light on/off on brightness status is perfect.
My problem:
If i have the brightness via Lovelace lights card (or button card) - it does send the “brightness_command_topic” (value brightness) directly followed by a “command_topic” (value 1).

The issue: the KNX does accept the brightness - but the subsequence “on” does set the lamp to the “default brightness”. This results in a short bright-up of the Bulb going back to default :frowning:
Is there a way to avoid home assistant is sending the “light on” command each time I’m dimming it?

Kind regards
Thorsten Gehrig

I’d be curious about these reasons!?

The HA Knx Integration would treat your lights the way you like :wink:

I don’t want to have everything directly interacting with my KNX Bus. The MQTT should be a good technology with a much higher bandwith (as it´s IP based).
Although i have another “logic engine” (EDOMI) implemented which is fully connected to MQTT - which does also publish internal objects… hence MQTT is the one unique way for all my data.
Why does the KNX integration does thread the lights differently?

Kind regards
Thorsten

because it is designed to communicate with KNX actuators, nothing else - so the async_turn_on method will do what most KNX actuators expect - in this example, only send the brightness % as DPT 5 without a DPT 1 Telegram.

I see, but I don’t agree. With Edomi handling KNX over MQTT from HA you essentially only add another hop and point of failure to your desired action “turn on a light”.
If you communicate from HA to KNX directly (assuming the actuator is KNX) you eliminate one hop, save the bandwith on IP side (which is negligible - but you can’t save on KNX as you want the light to turn on) and Edomi will be notified anyway from the KNX state.

TLDR I’d always use the most direct/native way to communicate with a device.

But if you prefer it your way thats fine for me. Unfortunately I can’t help you with MQTT stuff as I know next to nothing about that.

Okay - accepted. Seems the KNX integration is working really well.
Nevertheless i need to integrate now MQTT devices which are 98% on EDOMI internal adresses and only very little on KNX (the temperatur controller is such)… it´s the next challenge and not as clean as i was hopeing…
Anyhow - thanks.

1 Like