deskcontrol/src/main.cpp

42 lines
956 B
C++
Raw Normal View History

2019-03-23 14:48:17 +00:00
#include <Homie.h>
const int PIN_RELAY = D1;
int timer = 0;
HomieNode powerNode("power", "switch");
bool powerOnHandler(const HomieRange& range, const String& value) {
if (value != "true" && value != "false") return false;
bool on = (value == "true");
digitalWrite(PIN_RELAY, on ? LOW : HIGH);
powerNode.setProperty("on").send(value);
Homie.getLogger() << "Power is " << (on ? "on" : "off") << endl;
return true;
}
void setupHandler() {
pinMode(PIN_RELAY, OUTPUT);
digitalWrite(PIN_RELAY, HIGH);
powerNode.setProperty("on").send("false");
}
void setup() {
Serial.begin(115200);
Serial << endl << endl;
Serial << "Firmware 0.0.1" << endl;
Serial << endl << endl;
Homie_setFirmware("deskcontrol", "1.0.0");
Homie_setBrand("FuryFire");
powerNode.advertise("on").settable(powerOnHandler);
Homie.setSetupFunction(setupHandler);
Homie.setup();
}
void loop() {
Homie.loop();
}