Wie kann man mit IRsend einen String senden ?

Zur IR Steuerung einer Klimaanlage wird mit Node-Red ein String erzeugt der aus den Komponenten Header, Lüfterdrehzahl, Betriebsmodus , Power on/off & Temperatur besteht.

msg.payload = "0x12" + FanSpeed + Modus + Power + HexTemp[myTemp];

msg.topic = "IRData";

var newMsg = { payload: msg.payload, topic: msg.topic };
Das Ergebnis ist dann ein String der z.B. so aussieht: “0x12188010” und mit MQTT an den “IRBlaster” gesendet wird.

IRsend braucht aber eine Variable im Format uint64_t.

Die Lösung:

mqdata ist die mit MQTT empfangene Nachricht.

z.B.:

String mqdata =”0x12188010″;

  irsend.sendNEC(strtoul(mqdata.c_str(), NULL, 16));
Eine Kontrolle mit  esp8266_IRrecvDumpV2 ergibt folgende Ausgabe:
Programm ist in Beispiele -> aus eigenen Bibliotheken -> IRremoteESP8266 -> IRrecvDumpV2
Protocol : NEC_LIKE
Code : 0x12181110 (32 Bits)
uint64_t data = 0x12181110;
esp8266 IRsend
Markiert in:             

2 Kommentare zu „esp8266 IRsend

  • 28. Dezember 2023 um 23:24 Uhr
    Permalink

    Hallo Herr Heisel, ich weiß dass das hier nicht unbedingt hingehört, aber Sie hatten mal eine Arduino-basierte Steuerung für einen Wandel & Goltermann F55 Gong gebaut. Leider ist die verlinkte Seite verschwunden. Ich würde mir gerne Ihre Steuerung nachbauen; könnten Sie bitte Kontakt aufnehmen? Danke

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert