Things/things/DeviceIrTx.h

42 lines
850 B
C
Raw Normal View History

2016-04-20 20:34:15 +00:00
#ifndef DEVICEIRTX_H
#define DEVICEIRTX_H
#include "Device.h"
#include <Homie.h>
#include <IRremoteESP8266.h>
class DeviceIrTx : public Device {
public:
inline DeviceIrTx(byte irtxPin):irsend(irtxPin) {
pin_irtx = irtxPin;
}
virtual void deviceSetup();
virtual void deviceRegister();
virtual void deviceLoop();
private:
byte pin_irtx;
IRsend irsend;
bool irTxHandler(String message);
2016-04-20 20:34:15 +00:00
HomieNode irTxNode = HomieNode("irtx", "irtx");
};
void DeviceIrTx::deviceSetup() {
pinMode(pin_irtx, OUTPUT);
}
bool DeviceIrTx::irTxHandler(String message) {
irsend.sendSony(0xa90, 12);
return true;
}
2016-04-20 20:34:15 +00:00
void DeviceIrTx::deviceRegister() {
irTxNode.subscribe("irtx", [this](String value) { return irTxHandler(value); });
2016-04-20 20:34:15 +00:00
Homie.registerNode(irTxNode);
}
void DeviceIrTx::deviceLoop() {
return;
2016-04-20 20:34:15 +00:00
}
#endif