switchHandler: Kanal zur Maschine zurück aufgrund von 4 gegebenen Dezimal-Werten. (untested!)
This commit is contained in:
parent
272a4fa43f
commit
8e487aa213
|
@ -12,6 +12,7 @@
|
|||
SoftwareSerial swSer(D2, D1);
|
||||
int currentnumber = 0;
|
||||
int inputbytes[4];
|
||||
int commandbytes[4];
|
||||
String output = "";
|
||||
String output2 = "";
|
||||
|
||||
|
@ -19,7 +20,25 @@ HomieNode switchNode("switch", "switch");
|
|||
|
||||
bool switchHandler(const HomieRange& range, const String& value) {
|
||||
Homie.getLogger() << "switch " << ": " << value << endl;
|
||||
switchNode.setProperty("switch").send(value);
|
||||
|
||||
if (sscanf(value, "%d %d %d %d", &commandbytes[0], &commandbytes[1], &commandbytes[2], &commandbytes[3]) == 4)
|
||||
{
|
||||
// Nur wenn wirklich 4 Werte übernommen wurden
|
||||
switchNode.setProperty("switch").send(value);
|
||||
// Sende an das Gerät
|
||||
swSer.write(commandbytes[0]);
|
||||
swSer.write(commandbytes[1]);
|
||||
swSer.write(commandbytes[2]);
|
||||
swSer.write(commandbytes[3]);
|
||||
}
|
||||
else
|
||||
{
|
||||
commandbytes[0] = 0;
|
||||
commandbytes[1] = 0;
|
||||
commandbytes[2] = 0;
|
||||
commandbytes[3] = 0;
|
||||
switchNode.setProperty("switch").send("ERROR");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -37,8 +56,6 @@ void setup() {
|
|||
|
||||
ArduinoOTA.setHostname(Homie.getConfiguration().deviceId);
|
||||
ArduinoOTA.begin();
|
||||
|
||||
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
@ -65,11 +82,7 @@ void loop() {
|
|||
switchNode.setProperty("switchevent").send(output2);
|
||||
switchNode.setProperty("input").send(String(inputbytes[1]-128, DEC));
|
||||
switchNode.setProperty("output").send(String(inputbytes[2]-128, DEC));
|
||||
// Einfache Interpretation
|
||||
// Serial.print("Von ");
|
||||
// Serial.print(String(inputbytes[2]-128, DEC));
|
||||
// Serial.print(" zu ");
|
||||
// Serial.println(String(inputbytes[1]-128, DEC));
|
||||
|
||||
currentnumber = 0;
|
||||
inputbytes[0] = 0;
|
||||
inputbytes[1] = 0;
|
||||
|
@ -84,8 +97,4 @@ void loop() {
|
|||
currentnumber++;
|
||||
}
|
||||
}
|
||||
// while (Serial.available() > 0) {
|
||||
// swSer.write(Serial.read());
|
||||
// }
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue