MagicMirror² v2.14.0 is available! For more information about this release, check out this topic.

Send on/off to the screen via IR

  • Hi Guys,

    Self confessed n00b here. My screen doesnt have power saving…and thus gives me an ethereal glow even if the hdmi is sending no signal.

    Short of the relay option (which I’m not sure will work anyway due to cycling power and it not automatically turning on), is there a module and recommended hardware to allow the pi to send the same command as the remote to the screen?


  • Have you seen the MMM-PIR module?

  • Hi Nowis,

    Yeah, i saw that. But switching off hdmi doesnt turn off the tv, which just displays an on, black screen which will result in an ethereal glow and isnt ideal.

    The alternative of using a relay wont actually switch the tv back on as it will go to standby.

    What I’m looking for is to send the tv to standby by sending the on/off command via IR, or something to achieve that effect.

  • Project Sponsor

    okey, so I’m guessing you are using a TV and not a monitor (a monitor wouldn’t have these issues, maybe switch it? unless your mirror is over 27" I would probably suggest that first). but anyway, you should be able to make a ir transmitter and mount infront of the ir reciever of the tv.

    maybe something like this could work?

  • Project Sponsor Module Developer

    You have a couple of options here:

    You can install libCEC which you’ll be able to use to send standard CEC protocol commands over the HDMI connection. Support varies from one vendor to another, but the ability to turn on, turn off, and set the input are pretty universal.

    If you have a USB IR blaster, you can use LIRC to send IR commands to your TV’s IR port.

    Of the two I would try libCEC first, as it seems to be more reliable. I’m using both – libCEC to handle TV power, and LIRC to cancel the Input overlay OSD that my TV puts on screen for a few seconds after power up. The CEC commands work all the time, however the LIRC blasts seem to work whenever it feels like it. Maybe it’s my IR blaster… not sure… but libCEC has been rock solid. Also, you won;t need any extra gear – you’re likely already connecting your Pi to your TV using HDMI.

    A word of warning… Once you have libCEC installed, it takes a bit of a learning curve. This site is helpful once you get the hang of how to compose a CEC command, but if all you care about are TV on and off, these should work as-is:

    TV On:

    echo "on 0" | cec-client -s -d 1

    TV Off:

    echo "standby 0" | cec-client -s -d 1

    I hope this helps!

  • Thank you guys, this has been most helpful! I’ll give these a go over the next few weeks as and when I get time!