This really depends on how you access your data. You wrote that you use the serial interface? This limits you to a single hardware component, because afaik you cannot connect with two processes to the same serial without an additional layer in between. (Otherwise you could write two independent hardware components running on a different update rate).
Within one hardware component, there is no ros2_control-way in doing so. I’d suggest using the time and implement a logic to poll the housekeeping data only once in a while.