is this a learning mode module ?
how use this module for learn my ir codes ?

This node decodes IR remote codes, print protocol and hex value to serial monitor and send it to gateway. Then controller can do logic on that to do some stuff.
The sample code also receive on/off command from controller and emits IR signal depending on it.

@Talat-Keleş
I mean that every ir codes ( each brand for TV , audio . . . ) can learn to this node ( similar to zwave IR extender) and use OR in sketch we most write every codes that i will use ?!
if this is a learning mode module !how many codes can learn to this ? ) for example zwave ir extender give 20 key ! or global cashe give many codes ?!

That node is simply IR to gateway (or vice versa) transfering medium. It doesn't learn just decodes or emits IR signals. This node is mostly dumb.

To make it learn something like z-wave ir extender,

Manually: Just manually decode and note down required codes then use them. Easy solution for known and used commands like on/off, vol +/-, numbers etc.

hard code it on node, however program space is tight. eeprom may be required.

hard code it on controller, easy for logic operations and automation needs.

Automatic:

Write the code to learn and save it to eeprom. It requires some coding, at the end it might be a device like somehow z-wave ir extender. Howeer controller should know and send some kind of message to select right IR code. I didn't work on this solution yet.

Below is node sketch (v1.5.4) and openhab sitemap&items for simple control. More advanced control needs rules/scripts to make it more automation like.

Set up the circuit, load below code or example code given and open serial monitor. Press buttons on IR remote and read hex values on serial. Note down values for buttons you need. (i.e. power off 0x184C, power on 0x104C, chanel up 0x1860 etc, RC5 protocol) If below sketch is uploaded to node, then adapt domoticz to send needed IR codes like i did in sitemaps part or use automation rules to send required commands to node to tv.

this module ( ir transmitter ) is weak in transmit . for more than 2 or 3 meter distance dont work . also for less than 1 meter we must direct connection exactly.
i think this is related to power or noise or problem of module ?!
can you guidance me ?

this module ( ir transmitter ) is weak in transmit . for more than 2 or 3 meter distance dont work . also for less than 1 meter we must direct connection exactly.
i think this is related to power or noise or problem of module ?!
can you guidance me ?

I'm thinking of building this but am concerned about limited range. I'd like it to work 10ft/3m. Can someone confirm that this does not work at these distances? If so, is there a way to increase the range?

I send command from remote control arduino read this command (i can see this in serial monitor) but this commands are not sending to gateway, my radio is working the sensor connect to gateway and controller. I use example Sketch given up in this page without changing anything.
Any idea whats wrong in my setup?

@ramoncarranza
Compiler complains about not understanding decode_type_t. It should be defined in .h file or maybe you defined it in sketch but there is a problem definetly.
Can you post whole sketch and IR library and error message if any other so we can check and test.

@ramoncarranza When I went and looked where the library manager installed the IRremote lib(for me C:\Users\User\Documents\Arduino\libraries), it had given it an odd name like arduino_294267. I renamed it to IRremote and the issue went away.

ok i record ir code 240E4F17 from my AC remote hov can i sent this code from my controler to IR node and request from node to sent that code (on/off) AC i was trying with raw mesage but i dot know what to send (Type/ Sub type , Acknowledge/ Payload)

IRSendRec.ino:95:5: error: 'decode_type_t' does not name a type
IRSendRec.ino:114:1: error: 'IRsend' does not name a type
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino:135:1: error: too many initializers for 'IRCode::<anonymous struct>'
IRSendRec.ino: In function 'byte lookUpPresetCode(decode_results*)':
IRSendRec.ino:246:38: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:256:38: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino: In function 'bool storeRCCode(byte)':
IRSendRec.ino:300:30: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:302:49: error: 'class decode_results' has no member named 'address'
IRSendRec.ino: In function 'void sendRCCode(byte)':
IRSendRec.ino:322:39: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:84:38: note: in definition of macro 'Type2String'
IRSendRec.ino:322:39: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:84:50: note: in definition of macro 'Type2String'
IRSendRec.ino:323:18: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:328:10: error: 'irsend' was not declared in this scope
IRSendRec.ino:331:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:338:10: error: 'irsend' was not declared in this scope
IRSendRec.ino:341:23: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:342:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:344:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:345:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:347:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:348:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:352:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:353:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:355:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:355:32: error: 'SAMSUNG' was not declared in this scope
IRSendRec.ino:356:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:358:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:358:32: error: 'WHYNTER' was not declared in this scope
IRSendRec.ino:359:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:361:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:361:32: error: 'AIWA_RC_T501' was not declared in this scope
IRSendRec.ino:362:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:364:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:364:32: error: 'LG' was not declared in this scope
IRSendRec.ino:364:48: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:364:75: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:368:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:372:12: error: 'irsend' was not declared in this scope
IRSendRec.ino:375:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:376:8: error: 'irsend' was not declared in this scope
IRSendRec.ino:380:24: error: 'struct IRCode::<anonymous>' has no member named 'type'
IRSendRec.ino:380:32: error: 'DENON' was not declared in this scope
IRSendRec.ino:381:8: error: 'irsend' was not declared in this scope
IRSendRec.ino: In function 'void dump(decode_results*)':
IRSendRec.ino:403:29: error: 'class decode_results' has no member named 'address'
'decode_type_t' does not name a type

In this code domoticz says that there is a problem with presenting the child. I have change the code in order to present it properly in domoticz.
//MyMessage msgIrReceive(CHILD_ID, V_IR_RECEIVE);
//MyMessage msgIrRecord(CHILD_ID, V_IR_RECORD);
MyMessage msgIrReceive(CHILD_ID, S_IR);
MyMessage msgIrRecord(CHILD_ID, S_IR);

All dependencys of V_IR_RECEIVE and V_IR_RECORD should also be changed. Just search the code for V_IR_RECEIVE and V_IR_RECORD, then replace it with S_IR.

I am having trouble doing IRSensor with domoticz.
After pouring the scketch into the arduino, saved my codes and
to check that it worked well with MYSController, here's what
I obey when I activate the device under Domoticz:

Hello
Using the example sketch from the main thread, I managed to program a few pilot buttons in the domotic. (IR codes are of course entered in the section: IRCode PresetIRCodes [] = (...).
I would, however, "upload" a few IR codes to Domoticz, which would control my TV and AV via the IR diode from the Domoticz level.

In this example, there is the sendRCCode () function, which, in theory, sends an IR code (previously uploaded to Domoticz) via IR diode, if of course it will get
message.type == V_IR_SEND.

I added an additional declaration:
MyMessage msgIrSend (CHILD_ID, V_IR_SEND);
but in Domoticz there was no additional Device that would be responsible for sending IR codes.
I think I probably need to do an additional Dummy Switch, which will send an IR signal transmission command to the gateway / node using JSON.
I'm thinking about it for a long time and I have no idea how to do it in DOMOTICZ.
Please help me how to do it.