Nachdem ich hier hier alles durchsucht habe, bin ich nicht klüger als vorher. Ich finde einfach nicht den "Pack-An".
Ich habe auf einem WEMOS zwei IR-Befehle angelegt, die ich über die eingebaute Web-SS mit jeweils einem Button über D2 aussenden kann. Jetzt möchte ich diesen Tastendruck über einen http-Ausruf von FHEM aus auslösen.
Hiermit wird die Web-Seite inkl. der beiden Button aufgebaut:
void handleRoot() {
digitalWrite(led, 0);
String website = "<!DOCTYPE html>\n";
website = website + "<html>\n";
website = website + " <head>\n";
website = website + " <meta charset=\"utf-8\">\n";
website = website + " <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n";
website = website + " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n";
website = website + " <link rel=\"stylesheet\" href=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css\">\n";
website = website + " </head>\n";
website = website + " <body>\n";
website = website + " <div class=\"container-fluid\">\n";
// ------------------------- HDMI Controls --------------------------
website = website + rowDiv;
website = website + generateButton("col-xs-2", "up","Zone A", "up");
website = website + endDiv;
website = website + rowDiv;
website = website + generateButton("col-xs-2", "down","Zone B", "down");
website = website + endDiv;
// ------------------------- Chromecast --------------------------
website = website + endDiv;
website = website + " <script src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js\"></script>\n";
website = website + " <script src=\"https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js\"></script>\n";
website = website + " <script> function makeAjaxCall(url){$.ajax({\"url\": url})}</script>\n";
website = website + " </body>\n";
website = website + "</html>\n";
server.send(200, "text/html", website);
digitalWrite(led, 1);
}
Und hier die beiden Aufrufe:
server.on("/up", [](){
Serial.println("Zone A");
irsend.sendNEC(0x5EA152AC, 32);
server.send(200, "text/plain", "Volume Up");
});
server.on("/down", [](){
Serial.println("Zone B");
irsend.sendNEC(0x5EA1E21C, 32);
server.send(200, "text/plain", "Volume Down");
});
Welcher Aufruf über http simuliert den Tastendruck? Ich weiß nicht wo ich ansetzen kann. Wer hat einen Tipp?
Gruß Eberhard
Wenn ich das auf die Schnelle richtig geschaut habe, dann benötigst Du in FHEM eine Device, der einfach den URL Deines WEMOS aufruft und zwar mit /up bzw. mit /down. Das geht auf verschiedene Art, zum Beispiel über einen HTTPMod-Device.
Hallo viegener,
Du hast richtig geschaut! Der Aufruf "192.168.2.55/up" bzw ".../down" funktioniert!!!
Vielen Dank!
Gruß Eberhard