Es schein, als wenn der Code jetzt funktioniert. Ich warte noch mal verschiedene Events ab.
Beiträge von macht_rebel
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
-
-
Ja ... der POST Request funktioniert grundsätzlich. Habe ich getestet. Ich bin auch ein wenig lost, was das korrekte Event/Gerät ist. Es gibt ja Inputs, Outputs, Switches.
Hier nochmal mein aktuellster Versuch:
Code
Alles anzeigenlet url = "http://meine-ip"; // Ziel-URL hier eintragen function sendPost(value) { Shelly.call( "http.post", { url: url, headers: { "Content-Type": "text/plain" }, body: value }, function (res, err) { if (err) { print("Fehler beim Senden:", JSON.stringify(err)); } else { print("POST gesendet mit Wert:", value); } } ); } // Reagiere auf Änderungen an input:0 Shelly.addEventHandler(function (event) { if (event.component === "switch:0") { if (event.info.state === true) { sendPost("1"); } else { sendPost("0"); } } }); -
Hallo zusammen,
ich möchte ein Schalt-Event vom Shelly Plus Uni über ein HTTP-Request mit der POST Methode an eine URL versenden. Vorher hatte ich eine Action für on/off mit einer simplen GET URL, was wunderbar funktioniert hat. Nun gibt es wohl keine HTTP-Requests via POST out of the Box und ich habe mir mal per KI ein Script für meinen Shelly Plus Uni basteln lassen, da ich hier Laie bin. Leider funktioniert das Script nicht und ich wollte die Community fragen, ob hier ein Bug enthalten ist oder ich auch leichter einen HTTP-Request als Post (ggf. auch cURL) versenden kann.
PS: Es muss nur eine 1 oder 0 als Text an eine URL gehen - mehr nicht
DANKE// Shelly Plus Uni - HTTP POST zur Bestätigung des Output 0
// Output 0 = ON → sendet "1"
// Output 0 = OFF → sendet "0"let targetURL = "http://xxxxx.de";
Shelly.addEventHandler(function (event) {
// Prüfen ob Output 0 geschaltet wurde
if (event.component === "output:0") {
if (event.info.output === true) {
print("Output 0 eingeschaltet → sende '1'");
HTTP.request({
method: "POST",
url: targetURL,
headers: { "Content-Type": "text/plain" },
body: "1"
});
} else {
print("Output 0 ausgeschaltet → sende '0'");
HTTP.request({
method: "POST",
url: targetURL,
headers: { "Content-Type": "text/plain" },
body: "0"
});
}
}
});