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.
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.
If I replay the IR code from AnalysIR it the receiver turns on.
Now, I donāt quite understand how to send the MQTT message for mqtt-ir-transceiver to send the code.
My device āmqtt_prefixā is āirtrans01ā so I tried sending:
Topic: āirtrans01/sender/NEC/32ā
Payload: ā7E817E81ā and also tried ā0x7E817E81ā
I can see in the serial monitor ā*IR: Send NEC:7ā (or ā*IR: Send NEC:0ā when payload = ā0x7E817E81ā)
Propably I donāt understand the format. Looks like passing a hex is incorrect as it only accepts numbers.
Any help is appreciated.
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.