So about half of this topic got cut off. To catch people up: The main goal of this topic is to create an IR transmitter device in Vera that can be used to send IR codes to a TV, DVD, DVR, etc. The transmitter is easy to assemble by attaching an IR LED and IR receiver (for learning codes) to an Arduino. The cost of this is about $15. Normal IR blasters range from $50 (USB UIRT - not wireless) to over $100 (Global Cache WF2IR - wireless). Seeing that I could save $85, a MySensors IR blaster looked great.
When trying to connect the IR blaster to Vera, and get it to transmit, I encountered some problems. The MySensors program currently does not support IR blasters, so I tried to edit the code and make it work. After looking at the SQ Blaster plugin, it gave me an idea of how to get the IR blaster to work. I edited lump files in an attempt to create an IR blaster device. I have so far been able to have Vera create an IR blaster device that shows up on the devices page.
However, when trying to use it to create an IR device (TV) I can go through the initial setup
But then click on any of the remote's buttons gets me this error message.
I have been stuck with this for a while now. Also, the Vera appears to be sending the IR command:
08 06/06/14 10:25:29.361 JobHandler_LuaUPnP::HandleActionRequest argument ProntoCode=0000 0071 0000 001A 0080 0080 0020 0020 0020 0020 0020 0020 0020 0060 0020 0020 0020 0060 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0060 0020 0060 0020 0060 0020 0060 0020 0020 0020 0060 0020 0020 0020 0060 0020 0060 0020 0060 0020 0060 0020 0060 0020 0020 0020 04DF <0x2ca29680>
02 06/06/14 10:25:29.362 Device_LuaUPnP::HandleActionRequest 38 none of the 1 implementations handled it <0x2ca29680>
01 06/06/14 10:25:29.551 zzz-A2 83 <0x2ca29680>
01 06/06/14 10:25:29.551 zzz-1 83 <0x2ca29680>
01 06/06/14 10:25:29.551 zzz-1b 0xe1b888 <0x2ca29680>
08 06/06/14 10:25:29.552 JobHandler_LuaUPnP::HandleActionRequest device: 38 service: urn:micasaverde-com:serviceId:IrTransmitter1 action: SendProntoCode <0x2ca29680>
But the IR code never arrives at the Arduino. I am currently trying to fix this problem, and was wondering if anyone could help. Hek suggested I send guessed (from Vera forums) a message which I will do.
If any one wants to give this a try, here are the files to upload and test: Please let me know if you see something wrong with the code!
L_Arduino.lua
Which contains:
function sendProntoCode(prontoCode, device)
sendCommand(luup.devices[device].id,"IR_SEND",prontoCode)
end
I_Arduino1.xml
Which contains:
<action>
<serviceId>urn:micasaverde-com:serviceId:IrTransmitter1</serviceId>
<name>SendProntoCode</name>
<run>sendProntoCode(lul_settings.ProntoCode, lul_device)</run>
</action>
D_Arduino1.xml
Which contains:
<service>
<serviceType>urn:schemas-micasaverde-com:service:IrTransmitter:1</serviceType>
<serviceId>urn:micasaverde-com:serviceId:IrTransmitter1</serviceId>
<SCPDURL>S_IrTransmitter1.xml</SCPDURL>
</service>
MySensors_IR.ino
Which creates the IR device (S_IR) and then serial prints whatever message it receives.
Quick side note:There are two IR codes that Vera might be sending right now. A short code, 0x2ca29680 (in Vera log), or 0000 0071 0000 001A 0080 0080 0020 0020 0020 0020 0020 0020 0020 0060 0020 0020 0020 0060 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0020 0060 0020 0060 0020 0060 0020 0060 0020 0020 0020 0060 0020 0020 0020 0060 0020 0060 0020 0060 0020 0060 0020 0060 0020 0020 0020 04DF (also in Vera log). In the event that Vera is sending the longer code which is too big to send over the air, my solution to that was to have Vera send a single digit representing a longer IR code to send, for example 1 = power button, 2 = volume up, 3 = volume down, etc. The single digit method is already in the Arduino program so that I can change the IR codes on the Arduino easily without needing to change them in Vera.
Let me know if you have any questions. Thanks for your help!