Du hast da 2 Probleme:
1. Die Shellys erlauben kein CORS, weshalb es keine Antwort mit deinem Skript gibt.
2. Dir fehlt der GET-Parameter "turn"
Für 1: Hab mir mit nem kleinen Skript geholfen:
PHP
<?php
header("Access-Control-Allow-Origin: *");
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
$hostname = $_GET['hostname'];
$relayStatus = file_get_contents('http://' . $hostname . '/relay/0');
if($relayStatus) {
header('Content-Type: application/json');
echo $relayStatus;
}
Alles anzeigen
Für 2: xhttp.open("GET", "http://shellyip/relay/0?turn=on", true);