I’ve been experimenting with the IR blasting TV control option. With IR blasting you don’t (normally) get any status back from the TV, so you need what is called a "discrete code" – an IR signal that either turns the TV on, or turns the TV off. An on/off toggle signal (which is what the power button on remotes usually does) is useless as the controlling PC doesn’t know what state the TV is in.
Some research and IR recording with my serial irman device later, it turns out the TV is using a modified version of the NEC protocol (they’ve swapped the signals for zero and one over).
Now I knew the protocol, I played IR roulette: transmit all possible codes and see what happens. Unfortunately, it was pretty useless – I didn’t find any discrete codes. I did have a scary moment sending the value 0x28 when the TV lit up with "SETTING CONTINENTAL SHIPMENT", but it didn’t really seem to affect it. I later found a code for "UK SHIPMENT" (0xa8) so I’ve undone whatever it is it did 🙂
I’ve just spotted a working solution: when the TV is in standby, I don’t see any i2c devices over the HDMI cable, when its ON, they’re present. So I now that actually can tell the TV’s state, I have no need for a discrete code.
Still, I really must make sure to get a non-shit TV next time; I can’t even turn overscan off on this one (I’d prefer one of the linux based TVs 🙂