Vera runs my house but I use a Logitech Harmony 1100 to control my AV rig. The part where they interact is for control of the lighting. Previously I had an IR-controlled dimmer for the lights which was fine for the Harmony and I used an iTach so Vera could play too. Then I discovered MiLight lamps. So now Vera is firmly in control of the lighting but Harmony doesnāt speak Z-Wave or UDP so is somewhat in the dark. :
A search through the forum revealed several questions about getting Vera to receive IR but no apparent solutions. Time for a bit of engineering. ;D
The Kira standalone IR receiver, from Keene, seemed a good place to start. This device will read IR signals and transmit a coded string to a āPCā by UDP. It has a built-in web server for configuration and there is a Java application for testing. The device does exactly as claimed, but⦠When testing various remotes and buttons I noticed that there was significant variation in the burst times for a given code on multiple button presses and it also seemed to vary with remote-to-receiver distance. Clearly a simple look-up table was not going to work. :o
I decided I didnāt really care how many microseconds each burst took. All I really needed was to distinguish long and short bursts. After some experimentation I came up with a compact way of representing a code:
The first word is four hex characters. The first two digits are the carrier frequency in KHz and the last two are the number of burst pairs in the code. This comes directly from the Kira code string.
The second word is also four hex characters that represents a slicing value. Bursts above the slicing level are long and those below it are short. The value is determined by analyzing the code string from Kira to find the best fit.
The final part of the code is a string containing the bursts as L for long and S for short.
A typical code looks like: 241A 03C0 SSSLLSSSSLSSLSSLSSLSSLLSSSSSSSSSSSSSSSSSSSSSSSSSSSSL
I cannot claim that this technique will work with any remote control. There may well be code formats that donāt lend themselves to this form of compression. Interestingly, it works with every one of my remotes and appears to be more reliable than some of the built-in decoders. 8)
OK. The result of all the playing is a plugin that will allow Vera to receive IR codes from a standalone Kira device via UDP. The plugin includes facilities for learning the codes; viewing, deleting or renaming codes; backing-up or restoring the code set (/etc/KiraRx.xml). When the plugin recognises an incoming code, the code name is made available as an event. This can be used as a trigger for scenes and PLxx plugins by testing for the KiraRx deviceās IR code received event with the required code name in the Code: field. It is so easy to use there must be a catch. Iām sure someone will point this out to me. ;D
This is a beta-level plugin. It is working really reliably on my system but it may not work on yours. If you want to try it out, the files and instructions are: Here.
I have also written a plugin to transmit IR codes by name using a KIRA module. This is called KiraTx. KiraRx and KiraTx can work with the same physical KIRA module or different ones. The two plugins may be used together or own their own. The beta-level code and instructions for KiraTx are available: Here.
Update
There is now a plugin in the App Store. KiraRT combines the functionality of KiraRx and KiraTx. See this post for details.
Edit: 18/02/2014 11:17 New version of KiraTx uploaded. Allow codes to be sent multiple times. Import of Pronto codes with dummy repeat fixed.
Edit: 18/02/2014 11:55 New version of KiraRx uploaded. Import of Pronto codes with dummy repeat fixed. I_KiraRx.xml only.
Edit: 28/03/2014 19:06 New version of KiraRx uploaded. Improved resilience to corrupted IRCodes. I_KiraRx.xml only.
Edit: 28/03/2014 19:06 New version of KiraTx uploaded. Improved resilience to corrupted IRCodes. Allow import of KIRA codes with repeat extension. I_KiraTx.xml only.
Edit: 03/02/2015 11:18 KiraRT plugin released in App Store.
Edit: 17/02/2015 10:10 KiraRT V1.1 released in App Store. Added TXO option.
Edit: 12/03/2015 00:18 KiraRT V1.2 released in App Store. Fixed for firmware 7.0.5.