Gast
#4680420
Hallo zusammen,
ich stehe gerade vor einem Problem, zu dem ich einfach keine Lösung
finde:
In meinem Schlafzimmer befindet sich ein Arduino, der mittels MTTQ
Client IR Codes empfangen soll und diese dann mit der IRemote Libary
senden soll.
Die Verbindung von MTTQ zum Arduino funktioniert. Ich erhalte auch die
korretkten Befehle auf dem Arduino (Als String).
Nun zu dem Problem:
Mit dem Befehl irsend.sendNEC möchte ich z.B. am TV die Lautstärke
verringern. Schreibe ich den IR Code "0xE0E0D02F" hardcoded,
funktioniert das Ganze: irsend.sendNEC(0xE0E0D02F, 32);
Hier die Function:
void callback(char* topic, byte* payload, unsigned int length) {
// Zähler
int i = 0;
// Hilfsvariablen für die Convertierung der Nachricht in ein String
char message_buff[100];
Serial.println("Message arrived: topic: " + String(topic));
Serial.println("Length: " + String(length,DEC));
// Kopieren der Nachricht und erstellen eines Bytes mit abschließender
\0
for(i=0; i<length; i++) {
message_buff[i] = payload[i];
}
message_buff[i] = '\0';
// Konvertierung der nachricht in ein String
String msgString = String(message_buff);
Serial.println("Payload: " + msgString);
irsend.sendNEC(msgString.toInt(),32); //Bsp: 0xE0E0D02F
}
Wieso funktioniert die Konvertierung nicht aber wenn ich den Code direkt
eingebe schon?
Vielen Dank für Eure Hilfe! :)