Why is GetInfrared special?

Looking through the LAN API Documentation, it appears that sending a light message with type 120 (GetInfrared) will cause the light to respond with a 121 (StateInfrared) if, and only if, the 120 message includes a res_required flag. I have confirmed that the light will not send the StateInfrared message if this flag is not set. But this flag is not necessary to receive a response for any other Get message type, as one would assume, since sending a Get message implies that a response is required.

So what gives? Why is GetInfrared so special?

The res_required is a bit special because of legacy reasons. It’s best to assume you need res_required to get a state response.