Hilfe bei Skripterstellung zur Steuerung einer Pool Solarpumpe

Hinweis zur Nutzung von Skripten (für Nutzer)

Die Verwendung von Skripten erfolgt ausdrücklich auf eigene Gefahr. Weder Shelly noch die jeweiligen Autoren oder Entwickler der Skripte übernehmen irgendeine Form der Haftung für mögliche Schäden, Fehlfunktionen, Datenverluste oder anderweitige Beeinträchtigungen, die durch die Nutzung dieser Skripte entstehen könnten. Bitte stellen Sie vor dem Einsatz sicher, dass Sie den Quellcode verstehen und sich der möglichen Auswirkungen bewusst sind. Die Skripte werden ohne Gewähr bereitgestellt und unterliegen keiner regelmäßigen Wartung oder offiziellen Unterstützung.


Hinweis für Entwickler

Wenn Sie eigene Skripte bereitstellen, achten Sie bitte darauf, eine klare Beschreibung, eventuelle Einschränkungen und Sicherheitsaspekte zu dokumentieren. Beachten Sie zudem, dass Nutzer Ihre Skripte grundsätzlich auf eigenes Risiko verwenden. Eine Haftung für Schäden ist ausgeschlossen, sofern diese nicht vorsätzlich oder grob fahrlässig verursacht wurden oder gesetzlich anderweitig geregelt ist.

  • Hallo Gemeinde,


    ich habe nun mehrere Beiträge im Forum gelesen und komme als Neuling irgendwie nicht weiter und wollte Frage, ob mir jemand bei einem Skript helfen könnte ?

    Würde gerne diese Solarpumpe steuern.

    Sobald die Temperatur bei Poolraum zu 5Grad mehr als im Pool sind, soll die Pumpe anlaufen und das bis im Pool 30 Grad sind. Fällt der tempertur unterschied unter 5 Grad, soll sie wieder ausgehen.

    Habe hier ein Skript und weiß nicht, wie ich es anpassen muss, oder wo es reinkopiert werden muss.


    //GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 //More information: https://www.gnu.org/licenses/gpl-3.0.txt

    //ABSOLUTELY NO WARRANTY!!!

    //Made by Ostfriese


    //############################## Config ############################

    let Config = {

    temp_diff : 0.5,

    temp_min : 12,

    id_inside : 100,

    id_outside: 101,

    relay : 0,

    interval : 10 // 2 seconds is the minimum interval } //############################## Config end ############################


    function watch() {

    try {

    temp_inside = Shelly.getComponentStatus('Temperature', Config.id_inside).tC;

    temp_outside = Shelly.getComponentStatus('Temperature', Config.id_outside).tC;

    print('Temp. inside =',temp_inside);

    print('Temp. outside =',temp_outside);

    //inside <= minimum

    if (temp_inside <= Config.temp_min) {

    Shelly.call("http.get", {url:'http://127.0.0.1/relay/' + JSON.stringify(Config.relay) + '?turn=off'});

    print('Relay(', Config.relay, ') off. Inside temp <= ', Config.temp_min);

    }

    else {

    delta = temp_inside - temp_outside;

    //delta more than or equal Config.temp_diff

    if (delta >= Config.temp_diff) {

    Shelly.call("http.get", {url:'http://127.0.0.1/relay/' + JSON.stringify(Config.relay) + '?turn=on'});

    print('Relay(', Config.relay, ') on. Delta >= ', Config.temp_diff);

    }

    //delta less than Config.temp_diff

    else {

    Shelly.call("http.get", {url:'http://127.0.0.1/relay/' + JSON.stringify(Config.relay) + '?turn=off'});

    print('Relay(', Config.relay, ') off. Delta < ', Config.temp_diff);

    }

    }

    print('\n')

    } catch (err) {

    Shelly.call("http.get", {url:'http://127.0.0.1/relay/' + JSON.stringify(Config.relay) + '?turn=off'});

    print(err);

    }

    }


    function start() {

    // do a first shot

    watch();

    // set watch timer to configured value

    Timer.set(Config.interval * 1000,true,watch); }


    // schedule script start for 1 second

    Timer.set(1000,false,start);