Frank c252b506a7 First version
First version
2021-12-29 21:18:39 +01:00

116 lines
2.8 KiB
C++

// Process commands received from X10 compatible IR remote
void infraredEvent(char house, byte unit, byte command, bool isRepeat)
{
//Show Status IR icon
sendCommand("p0.pic=54");
sendCommand("tm1.en=1");
#ifdef DEBUG
Serial.println("!! IR Received !!");
#endif
if (!isRepeat)
{
#ifdef DEBUG
Serial.println(command);
#endif
// Handle Address Command (House + Unit)
if (command == CMD_ADDRESS)
{
#ifdef DEBUG
Serial.println("cmd == CMD_ADDRESS");
Serial.println(house);
Serial.println(unit);
Serial.println(command);
#endif
if (unit <= 16)
{
#ifdef DEBUG
Serial.println("Switch...");
#endif
ir_code = unit;
}
}
}
}
void ir_action()
{
#ifdef DEBUG
Serial.println("Ir_code == ");
Serial.println(ir_code);
#endif
if (ir_code == 1) //Staandelamp
if(main_btn_staandelamp==0)
domoticz_send_nvalue(idx_staandelamp, 1);
else
domoticz_send_nvalue(idx_staandelamp, 0);
if (ir_code == 2) //Haard
if(main_btn_haardverlichting==0)
domoticz_send_nvalue(idx_haardverlichting, 1);
else
domoticz_send_nvalue(idx_haardverlichting, 0);
if (ir_code == 4) //Rooster
if(main_btn_rooster==0)
domoticz_send_nvalue(idx_rooster, 1);
else
domoticz_send_nvalue(idx_rooster, 0);
if (ir_code == 5) //Hanglamp
if(main_btn_hanglamp==0)
domoticz_send_nvalue(idx_hanglamp, 1);
else
domoticz_send_nvalue(idx_hanglamp, 0);
if (ir_code == 3) //Tuin
if(main_btn_tuinverlichting==0)
domoticz_send_nvalue(idx_tuinverlichting, 1);
else
domoticz_send_nvalue(idx_tuinverlichting, 0);
if (ir_code == 6) //Kaarsen
if(main_btn_ir06==0)
domoticz_send_nvalue(idx_ir06, 1);
else
domoticz_send_nvalue(idx_ir06, 0);
if (ir_code == 7)
if(main_btn_ir07 == 0)
domoticz_send_nvalue(idx_ir07, 1);
else
domoticz_send_nvalue(idx_ir07, 0);
if (ir_code == 8)
if(main_btn_ir08 == 0)
domoticz_send_nvalue(idx_ir08, 1);
else
domoticz_send_nvalue(idx_ir08, 0);
if (ir_code == 9)
if(main_btn_ir09 == 0)
domoticz_send_nvalue(idx_ir09, 1);
else
domoticz_send_nvalue(idx_ir09, 0);
if (ir_code == 10)
if(main_btn_ir10 == 0)
domoticz_send_nvalue(idx_ir10, 1);
else
domoticz_send_nvalue(idx_ir10, 0);
ir_code = 0;
#ifdef DEBUG
Serial.println("Ir_code set to 0 ");
#endif
}