Für eine IR-Steuerung Button von FHEm betätigen

Begonnen von FHEm2005, 03 Dezember 2017, 23:03:18

Vorheriges Thema - Nächstes Thema

FHEm2005

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
 
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN

viegener

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.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

FHEm2005

Hallo viegener,
Du hast richtig geschaut! Der Aufruf "192.168.2.55/up" bzw  ".../down" funktioniert!!!
Vielen Dank!
Gruß Eberhard
Raspi3: FHEM, CULV3 (V1.61), EnOcean Pi 868, nanoCUL433, HUE-Bridge; Raspi4: Node-red, MQTT, Gaszähler auslesen mit ESP32-CAM, BSB-LAN