I am trying to figure out if this is an issue with an integration or with HA itself:
I am using the HACS integration Art-net LED Lighting for DMX. Now when I switch on my lights with a transition time this works very well but the status in Home Assistant gets updated immediately. This is quite annoying when using long transition times.
E.g.: I use an automation to turn on the light from 0% to 100% with a transition time of 10 minutes. The light itself is dimming to 100% smoothely but HA directly says that it is at 100%.
Is this expected behaviour or should the integration take care of reporting the current value?
The issue is that the state of the HA entity does not represent the real state of the device.
Compare it to a roller shutter: The (estimated) state of the roller shutter gets updated periodically in Home Assistant so that you can see where the roller shutter is at a given time. Additionally you can even see if it is moving.
In my oppinion it should be similar when using light transition. Right now the state of the entity does not report the true state of the device and I think this is just wrong. It does not have to be updated every millisecond but once every second (as long as it has changed) or so would be nice.
I can construct a scenario where this would be an issue: Let’s say you turn on a light with a transition of 10 minutes for whatever reason. Additionally you have an automation that does the following: Lower the brightness of the light by 20%.
Now after 5 minutes your light is dimmed to 50% (but HA says it is 100%). You trigger the automation because you want to lower the brightness by 20% (to effectively 30%) but HA raises it to (100-20 = ) 80% because it does not know the real state.
Don’t get me wrong here: I don’t have that automation. This is just a theoretical construct to emphasize the problem. I still think that the behaviour of the light entity with transition is not correct.
The device performing the transition would need to periodically report its transitional states. Otherwise, Home Assistant receives no information about the device’s currect transitional state.
The device’s firmware and supporting integration determine what kind of control and feedback are available.
Just to clarify: If I would like that behaviour to be changed, I would need to contact the author of my integration and suggest a change. Is this correct?
It all depends on the device’s firmware. If it isn’t designed to periodically report its state while it’s transitioning, then the integration’s author has no information to receive from the device.