Scripterstellung in Verbindung mit externer Webadresse

Die Verwendung von Skripten liegt im eigenen Ermessen des Benutzers. Unterstützung für Skripte wird vom Autor des Skripts bereitgestellt.
  • Guten Tag,

    ich habe folgendes Anliegen. Ich habe ein Shelly 1 Plus mit einem Addon verbunden und dort den Temperatur/Feuchtigkeitssensor angeschlossen. Funktioniert soweit gut.

    Nun möchte ich eigentlich bei einer Überschreitung eines bestimmten Werte der Luftfeuchtigkeit z-wave gesteuerte Ventilatoren aktivieren. Diese sind in einem hom.ee System eingebunden.

    Meine Frage gibt es eine Möglichkeit über ein Script an eine bestimmte Web-Adresse (in diesem Fall ist es der Webhook von Homee) anzusprechen. Wenn wo kann ich dazu eine Aneitung finden.

    Vielen Dank für Eure Hilfe.

    Grüße

    Michael

  • Meinst Du sowas:

    server_url_c ist die Serveradresse:
    https://www.domain.de/cgi/script.pl

    body_string_v ist die Payload:
    also dass, was hinter obigem Script steht.

  • Guten Morgen, habe mal das Script etwas modifiziert für meine Anwendung : Bei Überschreiten einer Schwellenwertes der Luftfeuchtigkeit soll ein Webhook versendet werden damit in meinem Homee System ein Ventilator angeht.

    Nur scheinbar sc heint es ein Problem beim Versenden zu geben. Der Webhook im Browser eingegeben löst die gewünschte Reaktion aus, so dass es nicht am Webhook selbst liegen kann.

    Könntet Ihr mir mal helfen den Fehler zu finden. Danke im Voraus.


    // Konfigurierbare Variablen
    let humidityThreshold = 41; // Schwellenwert für die Luftfeuchtigkeit in %
    let webhookUrl = "https://192.168.178.89/api/v2/webhook…NJ&event=Keller"; // URL des Webhooks
    let checkInterval = 60; // Intervall in Sekunden für die Messung

    // Funktion zum Versenden des Webhooks
    function sendWebhook(humidity) {
    Shelly.call(
    "HTTP.POST",
    {
    url: webhookUrl,
    body: JSON.stringify({ humidity: humidity }),
    headers: { "Content-Type": "application/json" },
    },
    function (response, error_code, error_msg) {
    if (error_code === 0) {
    print("Webhook erfolgreich gesendet: ", response);
    } else {
    print("Fehler beim Senden des Webhooks: ", error_msg);
    }
    }
    );
    }

    // Funktion zur Überwachung der Luftfeuchtigkeit
    function checkHumidity() {
    Shelly.call(
    "http.get",
    { url: "http://localhost/rpc/Sensor.GetStatus?id=0" }, // Sensorstatus abrufen
    function (result, error_code, error_msg) {
    if (error_code === 0) {
    let sensorData = JSON.parse(result.body);
    if (sensorData.aHum && sensorData.aHum > humidityThreshold) {
    print("Luftfeuchtigkeit überschreitet Schwellenwert: ", sensorData.aHum);
    sendWebhook(sensorData.aHum);
    } else {
    print("Luftfeuchtigkeit im Normalbereich: ", sensorData.aHum);
    }
    } else {
    print("Fehler beim Abrufen der Sensordaten: ", error_msg);
    }
    }
    );
    }

    // Wiederholter Aufruf der Überwachungsfunktion
    Timer.set(checkInterval * 1000, true, checkHumidity);

  • Dieses Thema enthält 9 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.