IR Transmitter ?

Moderators: grovkillen, Stuntteam, TD-er

Message
Author
siod
New 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: 1156
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: 66
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
New 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
New 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: 24
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.)

mojso
New user
Posts: 6
Joined: 04 Jan 2021, 20:01

Re: IR Transmitter ?

#121 Post by mojso » 06 Jan 2021, 20:54

how to send this raw codes or how to convert it to raw2

Code: Select all

// ON/OFF (toggle):
uint16_t TOGGLE[21] = {6680, 2412,  3374, 1560,  920, 732,  918, 1594,  1720, 758,  894, 1584,  896, 732,  920, 1558,  1748, 758,  1722, 1584,  1720};  // UNKNOWN 9EB58962
// Power Up (flame up):
uint16_t P_UP[19] = {6778, 2336,  3446, 1510,  938, 712,  938, 1556,  4270, 686,  936, 716,  938, 1540,  3438, 692,  936, 714,  1774};  // UNKNOWN 2B890461
// Power Down (flame down):
uint16_t P_DN[21] = {6700, 2406,  3366, 1580,  892, 756,  892, 1598,  2562, 732,  918, 726,  922, 696,  948, 1544,  2544, 1558,  904, 734,  1728};  // UNKNOWN BD1A8437
// Water Temperature Up:
uint16_t T_UP[23] = {6710, 2352,  3422, 1562,  894, 732,  918, 1572,  1746, 758,  1720, 758,  892, 734,  924, 1554,  1744, 756,  892, 756,  892, 756,  1736};  // UNKNOWN 4B3AB9D1
// Water Temperature Down:
uint16_t T_DN[19] = {6726, 2390,  3394, 1536,  944, 734,  916, 1576,  3394, 1538,  942, 736,  918, 1534,  4246, 1536,  190, 86,  1602};  // UNKNOWN 56631A11

Post Reply

Who is online

Users browsing this forum: Google [Bot] and 137 guests