IR Transmitter ?

Moderators: grovkillen, Stuntteam, TD-er

Message
Author
StefanD
Normal user
Posts: 19
Joined: 28 Jan 2017, 20:07

Re: IR Transmitter ?

#101 Post by StefanD » 07 Jul 2017, 23:23

Hi all,
I modified the plugin in the way Marko explain previously in this post to be able to control my LG air conditioning unit. It is working very well from the beginning and it is so simple to make it working. Just use IRrecvDumpV2 to record the raw signal parameters and use them to modify the plugin in the way it was explained before and this is all...
A new library for your AC conditioning unit or TV set it is not needed.
Marko, many thanks!

neykov_t
Normal user
Posts: 15
Joined: 21 Jan 2017, 22:10

Re: IR Transmitter ?

#102 Post by neykov_t » 17 Jul 2017, 19:29

Hi friends,
i found that ins irSend lib we already have support for Fujitsu. Can we update this plugin to use this nice new features ? I don't want use irsend.sendRaw() as we got ready for use commands.

Please advice what can we do ?

000
Normal user
Posts: 2
Joined: 21 Jul 2017, 22:34

Re: IR Transmitter ?

#103 Post by 000 » 25 Jul 2017, 18:17

Hello, I read the before post, but I don't know how to do to control LG Air.

I have installed the ESPEASY, with IR Receiver, and read the HEX Code from remote, type and bits. I have and IR Transmitter ready, I use the command http://xxx.xxx.x.xxx/control?cmd=IRSEND,LG,8800808,28, and I say the info command send, but the IR receiver does not see it, and the LG device neither.

I think I send not a good command, but I am stuck here.

I read you can use a circuit with arduino and extract the raw code, and before modify the lib of esp easy to implement. Really it is necessary ?? It is the only way??

Pleas help me!

StefanD
Normal user
Posts: 19
Joined: 28 Jan 2017, 20:07

Re: IR Transmitter ?

#104 Post by StefanD » 27 Jul 2017, 21:50

Hello,
for LG AC your LG TV code will not work. Try to compile espeasy with a modified plugin 035 that I will post it below. It is working with my model of LG AC. Example of the command to power on the AC unit in cool mode with 22 deg will be something like http://192.168.x.x/control?cmd=IRSEND,LG_ON . With this plugin you have available the following commands: LG_ON,LG_OFF,LG_FAN2,LG_FAN3,LG_L and LG_LL (low low power saving). Try it to see if is working for you
Best regards

//#######################################################################################################
//#################################### Plugin 035: Output IR ############################################
//#######################################################################################################

#include <IRremoteESP8266.h>
IRsend *Plugin_035_irSender;

#define PLUGIN_035
#define PLUGIN_ID_035 35
#define PLUGIN_NAME_035 "Infrared Transmit"

boolean Plugin_035(byte function, struct EventStruct *event, String& string)
{
boolean success = false;

switch (function)
{
case PLUGIN_DEVICE_ADD:
{
Device[++deviceCount].Number = PLUGIN_ID_035;
Device[deviceCount].Type = DEVICE_TYPE_SINGLE;
Device[deviceCount].SendDataOption = false;
break;
}

case PLUGIN_GET_DEVICENAME:
{
string = F(PLUGIN_NAME_035);
break;
}

case PLUGIN_GET_DEVICEVALUENAMES:
{
break;
}

case PLUGIN_INIT:
{
int irPin = Settings.TaskDevicePin1[event->TaskIndex];
if (Plugin_035_irSender == 0 && irPin != -1)
{
addLog(LOG_LEVEL_INFO, "INIT: IR TX");
Plugin_035_irSender = new IRsend(irPin);
Plugin_035_irSender->begin(); // Start the sender
}
if (Plugin_035_irSender != 0 && irPin == -1)
{
addLog(LOG_LEVEL_INFO, "INIT: IR TX Removed");
delete Plugin_035_irSender;
Plugin_035_irSender = 0;
}
success = true;
break;
}

case PLUGIN_WRITE:
{
String IrType;
unsigned long IrCode;
unsigned int IrBits;
char command[120];
command[0] = 0;
char TmpStr1[100];
TmpStr1[0] = 0;
string.toCharArray(command, 120);

unsigned int an[59] = {8750,4150, 500,1600, 450,550, 450,600, 450,600, 450,1600, 450,600, 400,600, 500,550, 500,500, 500,550, 500,550, 450,600, 450,550, 500,550, 450,550, 500,550, 450,1650, 450,600, 400,600, 450,550, 450,600, 450,550, 450,600, 450,600, 450,1600, 450,600, 450,550, 450,600, 450};
unsigned int aus[59] = {8750,4150, 500,1600, 450,550, 450,600, 450,600, 400,1650, 450,550, 450,600, 450,550, 450,1650, 450,1600, 450,600, 450,550, 450,600, 450,550, 450,600, 450,600, 450,550, 450,600, 450,600, 400,600, 450,550, 450,1600, 450,600, 450,1600, 450,600, 450,600, 450,550, 450,1600, 450};
unsigned int an01[59] = {8750,4150, 500,1550, 500,550, 500,550, 500,500, 500,1550, 500,550, 500,500, 500,500, 500,550, 500,550, 500,550, 500,500, 500,550, 500,500, 500,550, 500,500, 500,550, 500,1550, 500,1600, 500,1550, 500,500, 500,550, 500,1600, 500,500, 500,1550, 500,550, 500,500, 550,1550, 500};
unsigned int an02[59] = {8700,4150, 500,1600, 450,550, 500,550, 450,550, 500,1600, 450,600, 450,550, 450,600, 450,550, 450,600, 450,550, 500,550, 450,600, 450,550, 450,600, 450,550, 500,550, 450,1600, 500,1600, 450,1600, 450,600, 450,1600, 450,600, 400,600, 450,1600, 450,600, 450,1600, 450,1600, 450};
unsigned int an03[59] = {8800,4100, 500,1550, 500,550, 500,550, 500,500, 500,1550, 550,500, 500,550, 500,500, 500,1550, 500,1550, 500,550, 500,500, 500,550, 500,500, 500,500, 550,550, 450,550, 500,1600, 500,1550, 500,1550, 500,1550, 500,1550, 500,550, 450,1550, 550,500, 550,500, 500,550, 500,550, 450};
unsigned int an04[59] = {8800,4100, 500,1600, 450,600, 450,550, 500,550, 450,1600, 450,600, 450,550, 500,550, 450,1600, 500,1600, 450,550, 500,550, 450,550, 500,550, 450,550, 500,550, 500,550, 450,1600, 450,1600, 450,1600, 500,1550, 500,1600, 450,1600, 450,550, 500,550, 450,600, 450,600, 400,1600, 450};
unsigned int an1[99] = {3450,1700, 450,450, 400,1300, 450,450, 400,450, 400,450, 450,400, 450,400, 450,400, 450,450, 400,450, 400,450, 450,400, 450,450, 400,1300, 400,450, 450,450, 400,450, 400,450, 450,400, 450,400, 450,450, 400,450, 400,450, 450,1300, 400,450, 450,400, 450,400, 450,400, 450,450, 400,450, 450,400, 450,400, 450,1300, 450,400, 450,1300, 400,1300, 400,1300, 450,1300, 450,400, 450,400, 450,1300, 400,450, 450,1300, 400,1300, 450,1300, 400,1300, 450,400, 450,1300, 400};
unsigned int aus1[99] = {3500,1700, 400,450, 400,1300, 450,450, 400,450, 400,450, 450,400, 450,450, 400,450, 400,450, 400,500, 400,450, 400,450, 400,450, 400,1300, 450,450, 400,450, 400,450, 400,450, 450,450, 400,450, 400,450, 400,450, 450,450, 400,1300, 400,500, 400,450, 400,450, 400,450, 400,450, 400,450, 450,450, 400,450, 400,1300, 450,450, 400,1300, 400,1300, 450,1300, 400,1300, 450,450, 400,450, 400,1300, 450,450, 400,1300, 400,1300, 450,1300, 400,1300, 450,450, 400,1300, 400};
unsigned int an2[67] = {8900,4450, 550,550, 550,600, 550,1650, 550,550, 550,550, 550,550, 600,500, 600,550, 550,1650, 550,1650, 550,600, 550,1700, 500,1650, 550,1700, 550,1650, 600,1600, 600,550, 550,550, 550,550, 600,1600, 600,550, 550,550, 550,550, 600,500, 600,1650, 550,1650, 550,1650, 600,550, 550,1650, 550,1700, 500,1700, 550,1650, 550};




String tmpString = string;
int argIndex = tmpString.indexOf(',');
if (argIndex) tmpString = tmpString.substring(0, argIndex);

if (GetArgv(command, TmpStr1, 2)) IrType = TmpStr1;
if (GetArgv(command, TmpStr1, 3)) IrCode = strtoul(TmpStr1, NULL, 16); //(long) TmpStr1
if (GetArgv(command, TmpStr1, 4)) IrBits = str2int(TmpStr1);

if (tmpString.equalsIgnoreCase("IRSEND") && Plugin_035_irSender != 0)
{
success = true;


if (IrType.equalsIgnoreCase("NEC")) Plugin_035_irSender->sendNEC(IrCode, IrBits);
if (IrType.equalsIgnoreCase("JVC")) Plugin_035_irSender->sendJVC(IrCode, IrBits, 2);
if (IrType.equalsIgnoreCase("RC5")) Plugin_035_irSender->sendRC5(IrCode, IrBits);
if (IrType.equalsIgnoreCase("RC6")) Plugin_035_irSender->sendRC6(IrCode, IrBits);
if (IrType.equalsIgnoreCase("SAMSUNG")) Plugin_035_irSender->sendSAMSUNG(IrCode, IrBits);
if (IrType.equalsIgnoreCase("SONY")) Plugin_035_irSender->sendSony(IrCode, IrBits);
if (IrType.equalsIgnoreCase("PANASONIC")) Plugin_035_irSender->sendPanasonic(IrBits, IrCode);

if (IrType.equalsIgnoreCase("LG_ON")) Plugin_035_irSender->sendRaw(an,59,38);
if (IrType.equalsIgnoreCase("LG_OFF")) Plugin_035_irSender->sendRaw(aus,59,38);
if (IrType.equalsIgnoreCase("LG_FAN2")) Plugin_035_irSender->sendRaw(an01,59,38);
if (IrType.equalsIgnoreCase("LG_FAN3")) Plugin_035_irSender->sendRaw(an02,59,38);
if (IrType.equalsIgnoreCase("LG_L")) Plugin_035_irSender->sendRaw(an03,59,38);
if (IrType.equalsIgnoreCase("LG_LL")) Plugin_035_irSender->sendRaw(an04,59,38);
if (IrType.equalsIgnoreCase("PN_ON")) Plugin_035_irSender->sendRaw(an1,99,35);
if (IrType.equalsIgnoreCase("PN_OFF")) Plugin_035_irSender->sendRaw(aus1,99,35);
if (IrType.equalsIgnoreCase("LG_TV")) Plugin_035_irSender->sendRaw(an2,67,38);

addLog(LOG_LEVEL_INFO, "IR Code Sent");
if (printToWeb)
{
printWebString += F("IR Code Sent ");
printWebString += IrType;
printWebString += F("<BR>");
}


}
break;
}
}
return success;
}

000
Normal user
Posts: 2
Joined: 21 Jul 2017, 22:34

Re: IR Transmitter ?

#105 Post by 000 » 04 Aug 2017, 23:12

Thank you Stefan!!!

I have been reviewing the p35, and I have managed to make it work, after getting it I have seen your post, the solution is very similar to yours, adding the lines with LG.

Thank You!! Now working!

olleman
Normal user
Posts: 39
Joined: 27 Aug 2017, 08:10

Re: IR Transmitter ?

#106 Post by olleman » 27 Aug 2017, 08:18

I've got this information for a remote code for my Optoma HD 65 which I confirmed working when I tried it with "Unified remote control" for Android with my Samsung S6.

But my questions is, how can I get from this code to the b32 code mentioned in this thread? I should be able to convert it, right?
Power NEC2 Device Code: 79.80 (0x4F.0x50) Function: 2 (0x02)
0000 006D 0000 0022 0157 00AC 0015 0041 0015 0041 0015 0041 0015 0041 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0041 0015 0016 0015 0016 0015 0041 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0016 0015 0041 0015 0016 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0041 0015 0689
Thanks in advance!

GusPS
Normal user
Posts: 23
Joined: 28 Feb 2017, 15:59

Re: IR Transmitter ?

#107 Post by GusPS » 28 Aug 2017, 13:44

Hi olleman,

What are those numbers? Are them Pulse & Blank timings? Seems weir that the firsts "pulses" are 0000. Can you confirm it? If you have other way to get the pulses & blanks, you could try it.

Also, did you try to use the NEC protocol? I remmembet that this plugin has this protocol implemented.

olleman
Normal user
Posts: 39
Joined: 27 Aug 2017, 08:10

Re: IR Transmitter ?

#108 Post by olleman » 29 Aug 2017, 08:03

Hello,

It's "Pronto hex". It's some kind of raw format since this can be used without selecting a protocol. More information here: http://www.remotecentral.com/features/irdisp2.htm

My Optoma seems to be using "NEC2" but I'd like tro try to use the NEC protocol, the problem is that I have no idea what shorter HEX I should use and I don't have an IR receiver at this moment. I need a format that looks like this:
http://192.168.4.138/control?cmd=IRSEND,NEC,4bb620df,32

Any ideas?

GusPS
Normal user
Posts: 23
Joined: 28 Feb 2017, 15:59

Re: IR Transmitter ?

#109 Post by GusPS » 29 Aug 2017, 16:25

I don't know how to go from pulse & blanks to de mini-hex that espeasy-nec2 protocol needs. But, if you can convert that pronto hex to the sequence of timings that RAW protocol expect, then you can create the Base32 string and use with that protocol (RAW). There is, in this same forum-topic, a python script and an Excel spreedsheet to convert from Pulse & Blank to Base32. Is not always easy and possible the convertion, but at least is a way to try if an unknown protocol can be used.
Maybe other user can explain the NEC protocol and the numbers that you gave in the example. Let me know if you have any doubt.

olleman
Normal user
Posts: 39
Joined: 27 Aug 2017, 08:10

Re: IR Transmitter ?

#110 Post by olleman » 29 Aug 2017, 19:00

Thanks, I have ordered an ir receiver so i Can try the route with raw code but I'll probably be back for some support regarding that matter:)

siod
Normal user
Posts: 1
Joined: 08 Jan 2018, 17:17

Re: IR Transmitter ?

#111 Post by siod » 08 Jan 2018, 17:31

ThinkPad wrote:
20 Aug 2016, 10:45
I got the _P106_IRTX.ino plugin working! It works really good!

How to do it:
- Download ESPEasy source (from .zip or from GitHub)
- Download the plugin and place it in the same folder as 'ESPEasy.ino' and the other *.ino files
- Download the IRremoteESP8266.h and also put in same folder as above
- Compile & upload to your device (i used a Wemos D1 Mini board)
- Then under 'Devices' in ESPEasy, select 'Infrared Transmit' and choose the GPIO pin that you have the IR Transmitter connected to. For Wemos D1 Mini i connected the transmitter to pin 'D1', which is GPIO5 in ESPEasy.
Could someone pls explain how I can compile this using Arduino IDE? I get compiling errors, e.g. 'FreeMem' was not declared in this scope

When trying to open ESPEasy.ino Arduino IDE says "ESP must have it´s own folder..."

Shardan
Normal user
Posts: 1120
Joined: 03 Sep 2016, 23:27
Location: Bielefeld / Germany

Re: IR Transmitter ?

#112 Post by Shardan » 08 Jan 2018, 19:17

Regards
Shardan

ewaldharmsen
Normal user
Posts: 55
Joined: 16 Feb 2017, 09:23

Re: IR Transmitter ?

#113 Post by ewaldharmsen » 07 Feb 2018, 09:11

Does anyone know how to use rules to do an IR transmit?

I can do http://192.168.0.142/control?cmd=IRSEND,NEC,C1AA09F6,32 and that works.

So I guess I can do an http call to 127.0.0.1 as well, but thats ugly.

Is there a direct way to issue an ijsend from rules?

Diode663
Normal user
Posts: 1
Joined: 08 Mar 2018, 04:50

Re: IR Transmitter ?

#114 Post by Diode663 » 08 Mar 2018, 08:04

I have a Friedrich window AC unit that I am trying to control. I dont have the remote so it made the process of getting the codes difficult. I ended up finding an app on my old galaxy s4 that just had the on/off feature baked in.

From there I used the arduino sketch to figure out it was using the NEC protocol. From there I used IRscrutinizer to find out more details, protocol = NEC1, device = 129, subdevice = 102, obc = 129. Then I painstakingly went through all the obc codes to find out what functions did what on my unit. So thats where I am now. I feel like I have everything I need to continue except for a way to get the timing in either raw or ccf into the NEC hex thats needed for this to work.

Code: Select all

 <?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="simplehtml.xsl"?><!--This file is in the Girr (General IR Remote) format, see http://www.harctoolbox.org/Girr.html--><remotes xmlns="http://www.harctoolbox.org/Girr" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" girrVersion="1.0" title="IrScrutinizer parametric export" xsi:schemaLocation="http://www.harctoolbox.org/Girr http://www.harctoolbox.org/schemas/girr_ns.xsd">
    <adminData>
        <creationData creatingUser="Jackie" creationDate="2018-03-07_22:02:47" source="IrScrutinizer parametrized table" tool="IrScrutinizer" tool2="DecodeIR" tool2Version="2.45" toolVersion="1.4.1"/>
    </adminData>
    <remote comment="Export from IrScrutinizer" deviceClass="" displayName="" manufacturer="Friedrich" model="" name="AC" remoteName="no remote">
        <commandSet name="commandSet">
            <command comment="on off" master="parameters" name="nec1_D129S102F129">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="129"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="money saver" master="parameters" name="nec1_D129S102F141">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="141"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="??? 1-8" master="parameters" name="nec1_D129S102F147">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="147"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="fan speed" master="parameters" name="nec1_D129S102F153">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="153"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="mode" master="parameters" name="nec1_D129S102F155">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="155"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="timer" master="parameters" name="nec1_D129S102F159">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="159"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="also money saver" master="parameters" name="nec1_D129S102F130">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="130"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="temp up" master="parameters" name="nec1_D129S102F133">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="133"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
            <command comment="temp down" master="parameters" name="nec1_D129S102F138">
                <parameters protocol="nec1">
                    <parameter name="S" value="102"/>
                    <parameter name="D" value="129"/>
                    <parameter name="F" value="138"/>
                </parameters>
                <raw frequency="38400">
                    <intro>+9024 -4512 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -564 +564 -564 +564 -1692 +564 -1692 +564 -564 +564 -1692 +564 -564 +564 -1692 +564 -1692 +564 -1692 +564 -564 +564 -42012</intro>
                    <repeat>+9024 -2256 +564 -96156</repeat>
                </raw>
                <ccf>0000 006C 0022 0002 015B 00AD 0016 0041 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0016 0016 0041 0016 0016 0016 0041 0016 0016 0016 0016 0016 0016 0016 0041 0016 0041 0016 0016 0016 0041 0016 0016 0016 0041 0016 0041 0016 0041 0016 0016 0016 064D 015B 0057 0016 0E6C</ccf>
            </command>
        </commandSet>
    </remote>
</remotes>
This is the output from irscrutinizer. As you can see it has both raw and ccf. I just dont know how to get a clean hex out of this. Do I i have to output these commands from irscrutinizer to an arduino running the ir decode sketch on another computer to get the hex? Any ideas would be great. Thank you.

hugo11
Normal user
Posts: 17
Joined: 08 Nov 2016, 20:30

Re: IR Transmitter ?

#115 Post by hugo11 » 24 Apr 2018, 22:46

Hi guys,
Some help needed here. I'd like to control my Marantz receiver, but the code is not recognized so obviously I will have to use RAW. I've read the complete post but I'm somehow lost how to convert to correct string. Could someone help ?

first Key
Unknown encoding: F5EEEEC8 (32 bits)
Raw (32): 950 -850 900 -850 950 -800 1800 -850 950 -800 950 -800 950 -4350 900 -850 950 -800 950 -800 1000 -750 950 -1700 1800 -1750 900 -850 1800 -1700 1850
4116E6B0
Unknown encoding: 4116E6B0 (32 bits)
Raw (30): 900 -850 1800 -1700 1800 -850 1000 -750 1050 -750 950 -4300 950 -800 1000 -750 1050 -750 950 -800 950 -1700 1800 -1750 850 -900 1750 -1750 1750
49B0F625

second key
BABD6F45
Unknown encoding: BABD6F45 (32 bits)
Raw (34): 950 -800 950 -850 900 -850 1750 -900 900 -850 900 -900 850 -4400 850 -900 900 -850 900 -850 900 -1750 1750 -900 850 -1800 1750 -850 900 -900 850 -1750 900

FA16AD6D
Unknown encoding: FA16AD6D (32 bits)
Raw (32): 850 -900 1750 -1800 1700 -900 950 -850 1000 -750 1000 -4250 1000 -750 1000 -750 1000 -800 900 -1700 1850 -850 850 -1800 1750 -850 900 -900 850 -1750 900

GusPS
Normal user
Posts: 23
Joined: 28 Feb 2017, 15:59

Re: IR Transmitter ?

#116 Post by GusPS » 02 May 2018, 00:32

Hi.
Try this value for the first example and see if it works: 2LL85AJ5J
I got this using 750 as pulse and space.

jpemby
Normal user
Posts: 1
Joined: 26 Jul 2018, 00:05

Re: IR Transmitter ?

#117 Post by jpemby » 26 Jul 2018, 03:44

Hello.

Firstly, I have no idea what I'm doing! But despite that, I was able to get my d1 mini (R148) to control the TV and light via the IR Transmitter. Thank you.

ThinkPad and Marko's posts were invaluable and allowed me to add the raw codes with the modification. I wanted to include control for the AC too. The three codes are very long compared to the others and they all work... INDIVIDUALLY.

If I comment-out any two of the following three codes... They each WORK. If I uncomment any more than one of these related statements, the device is no longer reachable via ip after compile/uploading...

unsigned int yac[439] = ...
// unsigned int yaf[439] = ...
// unsigned int yad[439] = ...
...
if (IrType.equalsIgnoreCase("YadaCOOL")) Plugin_035_irSender->sendRaw(yac,439,38);
// if (IrType.equalsIgnoreCase("YadaACOFF")) Plugin_035_irSender->sendRaw(yaf,439,38);
// if (IrType.equalsIgnoreCase("YadaHEAT")) Plugin_035_irSender->sendRaw(yad,439,38);

Memory issue? It's appears to be beyond my feeble mind!

- Jim


//#######################################################################################################
//#################################### Plugin 035: Output IR ############################################
//#######################################################################################################

#include <IRremoteESP8266.h>
IRsend *Plugin_035_irSender;

#define PLUGIN_035
#define PLUGIN_ID_035 35
#define PLUGIN_NAME_035 "Infrared Transmit"

boolean Plugin_035(byte function, struct EventStruct *event, String& string)
{
boolean success = false;

switch (function)
{
case PLUGIN_DEVICE_ADD:
{
Device[++deviceCount].Number = PLUGIN_ID_035;
Device[deviceCount].Type = DEVICE_TYPE_SINGLE;
Device[deviceCount].SendDataOption = false;
break;
}

case PLUGIN_GET_DEVICENAME:
{
string = F(PLUGIN_NAME_035);
break;
}

case PLUGIN_GET_DEVICEVALUENAMES:
{
break;
}

case PLUGIN_INIT:
{
int irPin = Settings.TaskDevicePin1[event->TaskIndex];
if (Plugin_035_irSender == 0 && irPin != -1)
{
addLog(LOG_LEVEL_INFO, "INIT: IR TX");
Plugin_035_irSender = new IRsend(irPin);
Plugin_035_irSender->begin(); // Start the sender
}
if (Plugin_035_irSender != 0 && irPin == -1)
{
addLog(LOG_LEVEL_INFO, "INIT: IR TX Removed");
delete Plugin_035_irSender;
Plugin_035_irSender = 0;
}
success = true;
break;
}

case PLUGIN_WRITE:
{
String IrType;
unsigned long IrCode;
unsigned int IrBits;
char command[80];
command[0] = 0;
char TmpStr1[80];
TmpStr1[0] = 0;
string.toCharArray(command, 80);

// unsigned int an[180] = {3250,1450,500,300,450,1100,500,300,450,350,450,1100,500,300,450,1100,500,300,500,300,450,1100,500,1050,500,1100,500,300,450,1100,450,350,500,1050,500,1100,450,1100,500,300,450,300,500,300,500,300,450,1100,500,1100,450,300,500,1100,450,1100,450,350,500,300,450,1100,500,300,500,300,450,1100,450,350,450,300,500,1100,450,1100,500,300,500,1050,500,1100,450,1100,450,1150,450,1100,450,1150,450,1100,500,1050,500,1100,450,300,500,300,500,300,450,350,450,300,500,300,450,350,450,300,500,1100,500,1050,500,1100,450,1100,500,300,450,350,450,1100,450,1100,500,1100,500,300,450,300,450,350,500,1050,500,1100,500,300,450,300,500,300,450,350,450,1100,500,1050,500,300,500,300,450,1100,500,1100,500,1050,450,1150,450,300,500,300,500,1050,500,1100,500,300,450,300,500,300,500,};
// unsigned int aus[180] = {3200,1500,450,300,500,1100,450,300,500,300,500,1050,500,300,500,1100,450,300,500,300,500,1050,500,1100,450,1100,500,300,500,1050,500,300,450,1150,450,1100,450,1100,500,300,500,300,500,300,450,300,500,1100,450,1100,500,300,500,1050,450,1150,450,300,500,300,450,1150,450,300,500,300,450,1100,500,300,450,350,450,1100,500,1100,450,300,500,1100,450,1100,450,1150,450,1100,450,1100,500,1100,500,1050,500,1100,450,1100,500,300,500,300,450,300,500,300,450,350,450,300,500,300,450,350,450,1100,500,1100,450,1100,450,1150,450,300,500,300,500,1050,500,1100,450,1100,500,300,450,350,450,300,500,1100,450,1100,500,300,500,300,450,300,500,300,500,1050,500,1100,450,1100,500,300,500,1050,500,1100,450,1100,500,1100,450,300,500,300,450,350,500,1050,500,300,500,300,450,300,500,};
unsigned int yaa[83] = {3350,1800,450,400,450,400,450,1250,450,1300,400,450,450,1250,450,400,450,400,450,450,400,1300,450,400,450,400,450,1250,450,400,450,1300,400,450,450,1250,450,400,450,400,450,1250,450,450,400,450,450,400,450,400,450,450,400,450,450,1250,450,1250,450,400,450,1250,450,450,400,450,450,1250,450,400,450,1250,450,400,450,450,450,1250,450,400,450,400,450,};
unsigned int yab[83] = {3400,1750,450,450,400,450,450,1250,450,1250,450,400,450,1250,450,450,400,450, 450,400,450,1250,450,400,450,450,400,1300,450,400,450,1250,450,400,450,1250,450,450,400,450,450,1250,450,400,450,400,450,450,400,450,450,1250,450,1250,450,1250,450,1250,450,450,400,1300,400,450,450,400,450,400,450,1250,450,1300,450,400,450,400,450,1250,450,400,450,450,400,};
unsigned int yac[439] = {3468,1768,408,452,420,1332,412,464,408,464,408,460,440,432,412,452,448,424,420,464,404,456,420,460,412,460,412,460,408,1336,408,464,408,464,408,452,424,460,408,464,408,452,420,452,420,1332,412,1324,420,1332,440,424,416,464,412,1332,412,448,420,452,420,464,408,464,408,464,408,452,420,452,420,452,420,452,420,452,420,464,408,460,412,464,408,460,412,452,420,452,416,464,408,456,416,456,420,452,416,456,416,464,412,460,412,452,416,464,412,448,420,452,420,456,420,448,420,464,408,1324,420,1324,420,452,420,452,420,460,408,456,420,464,408,10516,3456,1760,420,452,420,1332,412,452,416,456,420,452,420,452,416,456,416,464,412,452,416,452,420,464,408,464,408,452,420,1332,412,452,420,452,420,464,408,452,420,452,420,452,420,452,420,1332,412,1332,412,1320,420,464,408,452,420,1324,420,464,408,452,420,452,420,452,420,452,420,460,412,460,412,460,412,452,420,452,420,460,412,452,416,456,420,1332,412,452,416,456,416,1324,420,1324,420,1324,420,460,412,460,412,452,420,460,408,456,416,456,420,1332,412,1320,420,456,416,456,416,452,420,456,416,464,408,452,420,452,420,452,420,464,408,1324,420,1324,420,1324,448,1296,416,1336,436,1296,420,1332,412,1332,412,452,416,1328,420,452,448,1304,408,1324,420,452,420,464,408,452,420,460,412,452,420,452,420,452,448,424,448,424,420,452,420,452,420,452,420,460,412,1332,412,1324,416,1336,408,452,448,436,408,464,408,464,408,464,408,460,412,460,412,452,420,460,412,1324,420,1328,412,1328,416,452,420,464,408,464,408,452,420,464,408,452,448,1296,448,432,412,460,412,452,416,456,420,460,412,460,440,424,384,496,412,460,408,464,408,1336,408,464,408,1324,420,452,420,464,408,452,420,1336,408,464,408,452,420,464,408,452,420,452,420,452,420,460,412,452,420,452,420,460,412,1324,420,460,436,424,420,464,408,464,408,1324,448,1304,408,1328,448,1296,420,452,420,1332,412,1320,420,452,420,1324,420,};
// unsigned int yaf[439] = {3460,1768,412,460,412,1324,420,452,416,464,412,452,416,452,420,464,408,452,420,464,408,464,408,464,408,464,408,452,420,1328,416,452,420,460,412,452,420,460,412,460,408,456,420,460,412,1324,416,1324,420,1336,408,464,408,452,420,1324,420,452,420,460,412,452,420,452,420,452,420,460,412,452,420,460,412,452,420,452,420,452,420,460,412,448,420,452,420,464,408,452,420,464,408,452,420,464,408,452,420,452,420,452,420,460,412,452,420,452,420,460,412,452,420,460,412,452,420,452,420,1332,408,1328,416,464,412,452,416,452,420,460,412,460,412,10516,3456,1768,412,452,420,1332,408,456,416,456,420,460,408,464,408,464,408,464,408,452,420,460,412,460,412,452,420,452,420,1324,420,460,412,452,420,452,420,460,412,460,412,452,420,460,408,1328,416,1336,408,1332,412,460,412,452,420,1324,420,452,420,456,416,460,412,452,420,460,412,460,408,464,412,452,416,464,412,452,420,460,412,452,416,464,412,448,420,464,412,448,420,1336,408,452,420,464,408,1324,420,452,420,460,408,464,412,452,420,1332,412,1324,420,1328,412,460,412,464,408,464,408,464,408,452,420,452,420,452,420,456,416,464,408,1324,420,1332,408,1324,420,1328,416,1324,420,452,420,1324,420,464,408,1332,408,1328,416,464,408,1336,408,1332,412,452,420,460,412,464,408,452,420,460,412,452,420,460,412,452,420,452,420,460,412,452,420,452,416,456,420,1332,408,1328,416,1324,420,464,408,460,412,464,408,452,420,460,412,452,420,452,420,452,420,460,412,1324,416,1336,412,1332,408,1324,420,452,420,464,408,460,412,452,420,452,420,456,416,460,412,452,420,452,420,456,412,456,416,464,412,460,412,460,412,460,412,452,416,1336,408,464,408,1332,412,452,420,464,408,460,412,1324,420,452,420,452,420,460,412,460,412,460,412,460,412,460,412,452,416,456,420,460,408,1336,408,456,416,452,420,460,412,464,408,464,408,1332,412,1324,420,1332,412,1324,420,1320,420,1324,420,464,408,452,420,};
// unsigned int yad[439] = {3460,1768,408,452,420,1324,420,460,412,452,448,432,412,460,412,452,420,460,412,460,440,424,420,460,412,452,416,464,412,1332,408,452,420,452,420,452,420,464,408,460,412,460,412,452,444,1300,420,1324,420,1320,420,456,416,456,420,1332,408,456,420,448,420,460,412,452,420,464,408,452,420,452,420,460,412,452,448,424,420,460,412,460,408,456,416,464,412,452,416,464,412,452,416,456,416,464,408,464,408,464,408,456,416,464,408,464,412,460,408,452,420,464,408,452,420,460,412,460,412,1324,420,1324,420,460,412,460,412,452,424,448,420,460,408,10516,3468,1768,408,452,420,1324,420,452,420,460,412,452,420,460,412,460,412,460,412,460,412,460,412,460,412,452,416,456,420,1332,408,452,420,452,420,460,412,460,412,464,408,452,420,464,408,1324,420,1332,412,1324,416,464,408,456,416,1336,412,452,416,464,408,464,408,464,408,460,412,464,408,464,408,452,420,452,420,464,408,452,420,460,412,460,412,1324,420,452,420,460,412,1324,416,464,408,456,416,1328,416,456,416,464,408,464,412,448,420,1324,420,1324,420,1332,412,460,412,460,412,452,416,456,416,464,412,448,420,464,412,460,408,452,420,1336,408,1324,420,1332,408,1336,408,1332,412,464,412,1332,408,452,420,1324,420,1324,420,452,420,1324,416,1328,416,464,408,456,416,464,408,464,412,448,420,460,412,460,412,460,412,452,420,452,420,464,408,464,408,452,420,1332,412,1332,412,1324,416,464,412,460,408,464,408,464,412,448,420,464,408,452,420,452,420,464,408,1324,420,1324,420,1332,412,1332,408,464,412,460,412,452,416,464,408,464,408,464,408,452,420,452,420,456,416,460,440,424,420,452,420,460,412,464,408,460,412,452,420,1324,416,456,420,1332,408,464,408,464,408,452,420,1324,420,452,420,464,408,464,408,460,412,452,420,452,420,452,448,432,412,460,412,452,420,1324,420,452,420,452,416,456,448,432,436,428,416,456,416,464,408,464,408,452,420,452,420,452,420,1324,420,460,412,};


String tmpString = string;
int argIndex = tmpString.indexOf(',');
if (argIndex) tmpString = tmpString.substring(0, argIndex);

if (GetArgv(command, TmpStr1, 2)) IrType = TmpStr1;
if (GetArgv(command, TmpStr1, 3)) IrCode = strtoul(TmpStr1, NULL, 16); //(long) TmpStr1
if (GetArgv(command, TmpStr1, 4)) IrBits = str2int(TmpStr1);

if (tmpString.equalsIgnoreCase("IRSEND") && Plugin_035_irSender != 0)
{
success = true;


if (IrType.equalsIgnoreCase("NEC")) Plugin_035_irSender->sendNEC(IrCode, IrBits);
if (IrType.equalsIgnoreCase("JVC")) Plugin_035_irSender->sendJVC(IrCode, IrBits, 2);
if (IrType.equalsIgnoreCase("RC5")) Plugin_035_irSender->sendRC5(IrCode, IrBits);
if (IrType.equalsIgnoreCase("RC6")) Plugin_035_irSender->sendRC6(IrCode, IrBits);
if (IrType.equalsIgnoreCase("SAMSUNG")) Plugin_035_irSender->sendSAMSUNG(IrCode, IrBits);
if (IrType.equalsIgnoreCase("SONY")) Plugin_035_irSender->sendSony(IrCode, IrBits);
if (IrType.equalsIgnoreCase("PANASONIC")) Plugin_035_irSender->sendPanasonic(IrBits, IrCode);

// if (IrType.equalsIgnoreCase("Kliman")) Plugin_035_irSender->sendRaw(an,180,38);
// if (IrType.equalsIgnoreCase("Klimaus")) Plugin_035_irSender->sendRaw(aus,180,38);

if (IrType.equalsIgnoreCase("YadaON")) Plugin_035_irSender->sendRaw(yaa,83,38);
if (IrType.equalsIgnoreCase("YadaOFF")) Plugin_035_irSender->sendRaw(yab,83,38);
if (IrType.equalsIgnoreCase("YadaCOOL")) Plugin_035_irSender->sendRaw(yac,439,38);
// if (IrType.equalsIgnoreCase("YadaACOFF")) Plugin_035_irSender->sendRaw(yaf,439,38);
// if (IrType.equalsIgnoreCase("YadaHEAT")) Plugin_035_irSender->sendRaw(yad,439,38);


addLog(LOG_LEVEL_INFO, "IR Code Sent");
if (printToWeb)
{
printWebString += F("IR Code Sent ");
printWebString += IrType;
printWebString += F("<BR>");
}


}
break;
}
}
return success;
}

s0170071
Normal user
Posts: 36
Joined: 21 Oct 2017, 20:49

Re: IR Transmitter ?

#118 Post by s0170071 » 13 Aug 2019, 10:48

Looking at the examples in the IRremoteESP89266 library, one can find TurnOnFujitsuAC.ino
In there they simply do:

ac.setModel(ARRAH2E);
ac.setSwing(kFujitsuAcSwingOff);
ac.setMode(kFujitsuAcModeCool);
ac.setFanSpeed(kFujitsuAcFanHigh);
ac.setTemp(24); // 24C
ac.setCmd(kFujitsuAcCmdTurnOn);


How would that look like as ESPEasy command ?

http://192.168.1.31/control?cmd=IRSENDAC....?

s0170071
Normal user
Posts: 36
Joined: 21 Oct 2017, 20:49

Re: IR Transmitter ?

#119 Post by s0170071 » 13 Aug 2019, 15:16

... just figured it out myself.

Code: Select all

 http://192.168.1.46/control?cmd=IRSENDAC,{"power":"ON","temp":"24","protocol":"FUJITSU_AC","model":"3","mode":"COOL","beep":"ON","fanspeed":"MAX"}
Note:
(1) the keys , e.g. power, temp, ... need to be lower case
(2) the on/off values need to be upper case.
(3) in my case, the string to model function was buggy. it did not resolve my Fujitsu ARREB1E. You need to use "model":"3" instead.
(4) use your own IP address (-;

Haf fun.

jimmys01
Normal user
Posts: 13
Joined: 07 Jan 2019, 22:37

Re: IR Transmitter ?

#120 Post by jimmys01 » 13 Aug 2019, 15:37

(2) the on/off values need to be upper case.
Are you sure? I will also check that.

Model can be either the string representation of the supported model or of the "id" given by the library as you did.

The JSON keys do have to be lower case.


I attach below my notes on P035 (Ir Transmiter plugin)
Usage: Connect an IR led to ESP8266 GPIO14 (D5) preferably. (various schematics can be found online)
On the device tab add a new device and select "Communication - IR Transmit"
Enable the device and select the GPIO led pin
Power on the ESP and connect to it
Commands can be send to this plug in and it will translate them to IR signals.
Possible commands are IRSEND and IRSENDAC
---IRSEND: That commands format is: IRSEND,<protocol>,<data>,<bits>,<repeat>
bits and repeat default to 0 if not used and they are optional
For protocols RAW and RAW2 there is no bits and repeat part, they are supposed to be replayed as they are calculated by a Google docs sheet or by plugin P016
---IRSENDAC: That commands format is: IRSENDAC,{"protocol":"COOLIX","power":"on","opmode":"dry","fanspeed":"auto","degrees":22,"swingv":"max","swingh":"off"}
--- The JSON keys are case sensitive and allways small case. The JSON data are case insensitive
The possible values
Protocols: Argo Coolix Daikin Fujitsu Haier Hitachi Kelvinator Midea Mitsubishi MitsubishiHeavy Panasonic Samsung Sharp Tcl Teco Toshiba Trotec Vestel Whirlpool
---opmodes: ---fanspeed: --swingv: --swingh:
- "off" - "auto" - "off" - "off"
- "auto" - "min" - "auto" - "auto"
- "cool" - "low" - "highest" - "leftmax"
- "heat" - "medium" - "high" - "left"
- "dry" - "high" - "middle" - "middle"
- "fan_only" - "max" - "low" - "right"
- "lowest" - "rightmax"
- "wide"
"on" - "off" parameters are:
- "power" - "celsius" - "quiet" - "turbo" - "econo" - "light" - "filter" - "clean" - "light" - "beep"
If celcius is set to "off" then farenheit will be used
- "sleep" Nr. of mins of sleep mode, or use sleep mode. (<= 0 means off.)
- "clock" Nr. of mins past midnight to set the clock to. (< 0 means off.)
- "model" . Nr or string representation of the model. Better to find it throught P016 - IR RX (0 means default.)

Post Reply

Who is online

Users browsing this forum: No registered users and 8 guests