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);
|
SoftwareSerial swSer(D2, D1);
|
||||||
int currentnumber = 0;
|
int currentnumber = 0;
|
||||||
int inputbytes[4];
|
int inputbytes[4];
|
||||||
|
int commandbytes[4];
|
||||||
String output = "";
|
String output = "";
|
||||||
String output2 = "";
|
String output2 = "";
|
||||||
|
|
||||||
|
@ -19,7 +20,25 @@ HomieNode switchNode("switch", "switch");
|
||||||
|
|
||||||
bool switchHandler(const HomieRange& range, const String& value) {
|
bool switchHandler(const HomieRange& range, const String& value) {
|
||||||
Homie.getLogger() << "switch " << ": " << value << endl;
|
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;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -37,8 +56,6 @@ void setup() {
|
||||||
|
|
||||||
ArduinoOTA.setHostname(Homie.getConfiguration().deviceId);
|
ArduinoOTA.setHostname(Homie.getConfiguration().deviceId);
|
||||||
ArduinoOTA.begin();
|
ArduinoOTA.begin();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop() {
|
void loop() {
|
||||||
|
@ -65,11 +82,7 @@ void loop() {
|
||||||
switchNode.setProperty("switchevent").send(output2);
|
switchNode.setProperty("switchevent").send(output2);
|
||||||
switchNode.setProperty("input").send(String(inputbytes[1]-128, DEC));
|
switchNode.setProperty("input").send(String(inputbytes[1]-128, DEC));
|
||||||
switchNode.setProperty("output").send(String(inputbytes[2]-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;
|
currentnumber = 0;
|
||||||
inputbytes[0] = 0;
|
inputbytes[0] = 0;
|
||||||
inputbytes[1] = 0;
|
inputbytes[1] = 0;
|
||||||
|
@ -84,8 +97,4 @@ void loop() {
|
||||||
currentnumber++;
|
currentnumber++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// while (Serial.available() > 0) {
|
|
||||||
// swSer.write(Serial.read());
|
|
||||||
// }
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue