first version with working relay function
This commit is contained in:
34
things/DeviceRelay.cpp
Normal file
34
things/DeviceRelay.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#include "DeviceRelay.h"
|
||||
|
||||
void DeviceRelay::setRelay(bool value) {
|
||||
digitalWrite(pinRelay, value);
|
||||
}
|
||||
|
||||
void DeviceRelay::deviceSetup() {
|
||||
pinMode(pinRelay, OUTPUT);
|
||||
setRelay(HIGH);
|
||||
}
|
||||
|
||||
bool DeviceRelay::relayOnHandler(String value) {
|
||||
if (value == "true") {
|
||||
setRelay(HIGH);
|
||||
Homie.setNodeProperty(relayNode, "on", "true");
|
||||
Serial.println("relay is on");
|
||||
} else if (value == "false") {
|
||||
setRelay(LOW);
|
||||
Homie.setNodeProperty(relayNode, "on", "false");
|
||||
Serial.println("relay is off");
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
void DeviceRelay::deviceRegister() {
|
||||
relayNode.subscribe("on", [this](String value) { return relayOnHandler(value); });
|
||||
Homie.registerNode(relayNode);
|
||||
}
|
||||
|
||||
void DeviceRelay::deviceLoop() {
|
||||
return;
|
||||
}
|
||||
Reference in New Issue
Block a user