#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;
}