I am looking for a cheap IR transmitter to be able to control my HDMI hub, tv, stereo and the projector. I came across this Broadlink one, however its seems hard to bind it to openhab, see here.
There is this rather expensive German version here, but if it has good quality and super easy to setup, then I will go for it. What does other OH users out there use?
Other solutions could be built around the Raspberry Pi and a USB WiFi dongle which are only US$3. Ideally this could be done on the Raspberry Pi Zero as it would be cheaper.
I have my Orvibo AllOne IR blaster working with the Python library here… https://github.com/cherezov/orvibo
I’m going to mount it to my ceiling.
It works great. I currently have it controlling my Air Conditioner (Split system) with a simple On/Off switch (set to a fixed temperature) and “Powerful” button in openHAB. Next will be the home entertainment stuff and temperature options for the AC.
It was actually quite simple to get working with openHAB thanks to the Python library. I had it all up and running the way I wanted in about half an hour.
I was thinking of writing a small guide if anyone is interested?
I’ve just implemented such hack - esp8266 based ir receiver / transmitter over mqtt. I can send standard codes by ID and receive any standard codes (RC5, NEC, Phillips etc)
in OH I configure for example: Switch ir_philips_volp "Vol+" <ir> (gIR) {mqtt=">[mosquitto:esp8266/02/sender/RC5/12:command:ON:1040]"} Number ir_in_lg "LG remote command [%d]" <ir> (gIR) {mqtt="<[mosquitto:esp8266/02/receiver/NEC/32:state:default]"}
I focused on my devices so not all codes are supported.
Hardware is very simple - IR receiver connected directly to ESP GPIO and IR LED connected via 1 transistor.
I’ts working now but there is still some kind of problem.
When I send the code -> Hex: 7E817E81 (decimal 2122415745) it works fine.
When I send the code -> Hex: 807F817E (decimal 2155839870) it doesn’t work.
When I send the code -> Hex: 817E817E (decimal 2172551550) it doesn’t work.
In the last two cases the monitor window show “*IR: Send NEC:2147483647”, so I guess the problem has to do with the limit of the variable holding the code (msgInt).
I can see msgInt should be already an unsigned long as it’s declared as “unsigned long msgInt = msgString.toInt();”, so I don’t know where the problem is (maybe in the “toInt()”?).
Sorry, I’m not a good enough programmer to fix it.