In supervisor, the hwp_state is captured through certain data from hwp_encoder agent:
self._update_from_keymap(op, {
'enc_freq': 'approx_hwp_freq',
'last_quad': 'last_quad',
'last_quad_time': 'last_quad_time',
})
In the case that quad and last_quad_time are not valid (ahem), then this dataset doesn't include a timestamp.
I believe the supervisor should capture (and check!!) the key encoder_last_updated (from here).
I am going to change ocs-web panel to report the timestamp from encoder_last_updated, in anticipation of this being added ...