Beiträge von Clemens Volgger

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.

    Ich bekomme keine Nachricht an eine email. Dieses script ist mit KI erzeugt (copilot)

    Wenn der Schalter (shelly 1 Gen3) einschaltet und ausschaltet, soll eine email versendet werden.

    Vielleicht fehlt hier grundsätzliches, weil ich auch keine error erhalte.


    Danke!

    —————-

    let smtp = {

    server: "host11.ssl-secured.eu", // SMTP-Server-Adresse

    port: 465, // SMTP-Port (z.B. 587 für TLS)

    username: "info@volgger.at", // Ihr E-Mail-Benutzername

    password: "——", // Ihr E-Mail-Passwort

    from: "info@volgger.at", // Absender-E-Mail-Adresse

    to: "c.volgger@tsn.at", // Empfänger-E-Mail-Adresse

    subject: "Shelly Schalter Status", // Betreff der E-Mail

    body: "hi" // E-Mail-Text

    };


    Shelly.addEventHandler(function (event, user_data) {

    if (event.component === "switch" && (event.info.state === true || event.info.state === false)) {

    let state = event.info.state ? "eingeschaltet" : "ausgeschaltet";

    smtp.body = "Der Shelly-Schalter wurde " + state;

    print("Versuche, E-Mail zu senden mit Status: " + state);

    Shelly.call(

    "SMTP.SEND",

    smtp,

    function (result, error_code, error_message) {

    if (error_code === 0) {

    print("E-Mail erfolgreich gesendet");

    } else {

    print("Fehler beim Senden der E-Mail: ", error_message);

    }

    }

    );

    }

    });

    Ich habe heute die KI (Microsoft Copilot) gefragt, ob sie mir ein script über eine Temperaturdifferenz-Regelung mit zwei Boilern, einer Umwälz-Pumpe, ein Umschaltventil und 5 Temperatursensoren: Kollektor, Vor- und Rücklauf, Boiler1 und Boiler 2 schreiben kann:

    Hier das Ergebnis:

    // Shelly Script für Differenztemperatursteuerung mit Umschaltventil, Hysterese, Minimaltemperatur und Vor-/Rücklauftemperatur

    // Konfigurationsparameter
    let tempBoiler1 = 0;
    let tempBoiler2 = 0;
    let tempKollektor = 0;
    let tempKollektorVorlauf = 0;
    let tempKollektorRücklauf = 0;
    let thresholdBoiler1 = 60; // Schwellenwert für Boiler 1
    let hysteresis = 2; // Hysterese-Wert in Grad Celsius
    let minKollektorTemp = 40; // Minimale Kollektortemperatur für Pumpenbetrieb
    let minDiffTemp = 3; // Minimale Temperaturdifferenz für Pumpenbetrieb
    let relayPump = 0; // Relais für die Pumpe
    let relayValve = 1; // Relais für das Umschaltventil

    // Funktion zum Aktualisieren der Temperaturen
    function updateTemperatures() {
    Shelly.call("http.get", { url: "http://shelly-ip/status" }, function (res) {
    let data = JSON.parse(res.body);
    tempBoiler1 = data.ext_temperature[0].tC;
    tempBoiler2 = data.ext_temperature[1].tC;
    tempKollektor = data.ext_temperature[2].tC;
    tempKollektorVorlauf = data.ext_temperature[3].tC;
    tempKollektorRücklauf = data.ext_temperature[4].tC;
    });
    }

    // Funktion zur Steuerung der Pumpe und des Ventils
    function controlSystem() {
    updateTemperatures();

    if (tempKollektorVorlauf >= minKollektorTemp) {
    if (tempBoiler1 >= thresholdBoiler1) {
    // Umschaltventil auf Boiler 2 umschalten
    Shelly.call("Switch.Set", { id: relayValve, on: true });

    // Temperaturvergleich zwischen Boiler 2 und Kollektorvorlauf mit Hysterese und Mindestdifferenz
    if (tempKollektorVorlauf > tempBoiler2 + hysteresis && (tempKollektorVorlauf - tempBoiler2) >= minDiffTemp) {
    // Pumpe einschalten
    Shelly.call("Switch.Set", { id: relayPump, on: true });
    } else if (tempKollektorVorlauf <= tempBoiler2) {
    // Pumpe ausschalten
    Shelly.call("Switch.Set", { id: relayPump, on: false });
    }
    } else {
    // Umschaltventil auf Boiler 1 zurückschalten (Standardzustand)
    Shelly.call("Switch.Set", { id: relayValve, on: false });

    // Pumpe einschalten, wenn Kollektortemperatur höher ist als Boiler 1 mit Hysterese und Mindestdifferenz
    if (tempKollektorVorlauf > tempBoiler1 + hysteresis && (tempKollektorVorlauf - tempBoiler1) >= minDiffTemp) {
    Shelly.call("Switch.Set", { id: relayPump, on: true });
    } else if (tempKollektorVorlauf <= tempBoiler1 && tempKollektorVorlauf <= tempBoiler2) {
    // Pumpe ausschalten, wenn Kollektortemperatur niedriger ist als beide Boiler
    Shelly.call("Switch.Set", { id: relayPump, on: false });
    }
    }
    } else {
    // Pumpe ausschalten, wenn Kollektortemperatur unter der Minimaltemperatur liegt
    Shelly.call("Switch.Set", { id: relayPump, on: false });
    }
    }

    // Intervall zur regelmäßigen Überprüfung der Temperaturen
    Timer.set(60000, true, function () {
    controlSystem();
    });

    Ist schon interessant, bei mir zu Hause habe ich Haustüre, Garagentor, Klingel, Wasserpumpe, Außenbeleuchtung und andere für meine Kinder geteilt! Hat immer funktioniert (min. 1 Jahr). Jetzt sind sie auf deren shellyapp alle offline! Vielleicht muss man auf premium upgraden?

    Liebe Mitglieder!


    Ich habe 2 Thermostate von meiner App an zwei andere Accounts geteilt. Die Anzeige hat immer geklappt! Seit ca. 1 Woche sind die Anzeigen immer offline. Der Verlauf ist sichtbar, aber eben offline. Ich habe abgemeldet, angemeldet, offline. App deinstalliert, installiert immer offline! Neuen Account angelegt, bringt nichts!


    Hat jemand eine Lösung?


    Danke