I have a Philips Hue motion sensor, which I also use as a light sensor.
Problem: The light level updates too rarely. If nothing relatively extreme happens (say, identifying a motion, or a quick shift in light level), the update time may be as long as 20 minutes.
Solution requested: Update the state of the sensor on-demand, as part of an automation. I emphasize that I am not looking to increase the on-going update intervals (e.g. every 1 minute), rather a one-time update only when I ask for it.
I thought that homeassistant.update_entity will do the trick, but unfortunately it doesn’t.
Does anyone know a command which will trigger the sensor to be updated on-demand?
That’s not possible with ZigBee devices. You can’t ask them to update their state, they provide it to you on fixed intervals or on certain triggers (when motion detected, change in temp over 10%).
As @Burningstone says, it is a trust thing, you trusting that your device is stable on the network and when it has something to say, you will get notified. This is a hole in ZHA now, I understand on Zigbee2MQTT you can ‘ping’ devices and get a response. On ZHA, you can kind of do this from the user interface by requesting some attribute from the device, however may be several minutes before the device wakes up and checks for messages. It even seems you have to send the request a couple time for some devices. I think the delay in the response happens on Zigbee2MQTT as well, as there too, end devices (battery powered mostly) only wake up a schedule set by the manufacture.