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

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 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();
    });

  • Hallo,

    das mache ich auch schon länger. Das Problem für die meisten ist die richtige Formulierung der Aufgabe, denke ich.
    Bei ChatGPT sollte man gleich erwähnen, das es ein Shelly Script werden soll. Da spart man sich unnötige Fehlermeldungen.
    Beim Copilot hatte ich es auch gleich so gefordert. Die arbeiten ja auf einer ähnlichen Wissensbasis, nehme ich an. Schaden tut es nicht. Da hatte ich nun schon mehrfach gute schnelle Lösungen. (Wie auch bei der Bilderstellung)

    Kacke, Soeben war für 5s der Saft weg. Totalausfall. Stürmisch draußen. Nun muß ich erstmal alles testen Synology, HA, HM, usw.

    Mit besten Grüßen

    Martin

    Falls sich Jemand von mir persönlich angegriffen fühlt, dann bitte ich um eine kurze Info. Es lässt sich alles klären. Ich bin, wie ich bin.

    Einen 3EM kann man übrigens in 1728 Varianten falsch einbauen und verdrahten .Es sind mittlerweile weitere Möglichkeiten dazu gekommen.

    In den meisten Einbauanleitungen sind die Wandler in der falschen Richtung eingezeichnet. Letzteres gilt nur für den alten 3EM.

  • Nachtrag:

    Alles gut gestartet. Bei den AP´s muß ich nochmal schauen. Ein paar wenige Shellys sind nicht verbunden. wie geplant.
    HM läuft von alleine, nur CUL-Stick (Funkgeräte) muß ich kurz trennen. HASS muß ich nochmal per Hand neustarten. Läuft auch wieder. Das müsste man auch noch automatisieren. Da hilft mir die KI wohl nicht. ||
    Und die (wichtigen) ESP32-Relaiskarten, 8 und 16-fach starten am schnellsten und ich kann sofort wieder die wichtigen Dinge einschalten, HTTP-Request per Handyapp.

    Aber!!!!!!
    Morgen (Heute) werden an meinem Victron 2 Stromkreise angeschlossen. Wollte schon immer die USV-Lösung nutzen.

    Mit besten Grüßen

    Martin

    Falls sich Jemand von mir persönlich angegriffen fühlt, dann bitte ich um eine kurze Info. Es lässt sich alles klären. Ich bin, wie ich bin.

    Einen 3EM kann man übrigens in 1728 Varianten falsch einbauen und verdrahten .Es sind mittlerweile weitere Möglichkeiten dazu gekommen.

    In den meisten Einbauanleitungen sind die Wandler in der falschen Richtung eingezeichnet. Letzteres gilt nur für den alten 3EM.

  • Das läuft bei mir längst über eine USV von APC.

    Man kann ach versuchen sein Profilbild nachzubilden, allerdings hat ChatGPT Angst vor einem Copyright und man bekommt weder Tim Taylor noch Tim Allen ;(

    Es sieht aber auch vielversprechend aus, will man etwas in Node Red mit Shelly und MQTT umsetzen. Mir gefällt, dass oftmals gleich ein Function Node vorgeschlagen wird. Werde ich bei Zeiten mal testen, ob es schneller als per Hand geht.