Shelly Plus UNI: Automatische Rückspülung Pool mit Javascript

  • Hallo zusammen,

    ich möchte mit meinem Shelly Plus UNI eine automatisierte Rückspülung für einen Pool konfigurieren. Dazu muss zuerst die laufende Pumpe über ein angezogenes Relais 1 (OUT1) ausgeschaltet werden, dann nach 2 Sekunden das Magnetventil für den Luftdruck des Rückspülventils per Relais 2-Anschaltung (OUT2) geöffnet werden, die Pumpe mit einer Verzögerung von 5 Sekunden wieder eingeschaltet werden und nach 25 Sekunden wieder ausgeschaltet werden. Nach einer weiteren Verzögerung von 2 Sekunden soll das Magnetventil wieder geschlossen werden (Relais ausgeschaltet). Nach einer weiteren Verzögerung von 5 Sekunden soll die Pumpe wieder eingeschaltet werden. Der ganze Vorgang soll freitags um 9:00 Uhr oder manuell über den digitalen Eingang IN1 ausgeführt werden.

    Kann ein solche Ablauf durch lokale Aktionen umgesetzt werden? Da nur 5 Aktionen innerhalb einer konfigurierbaren "Aktion" im Shelly Menü zugelassen sind, wird es wahrscheinlich schwierig.

    Daher nochmal der Ablauf in Stichworten:

    1. Auslöser, freitags 9:00 Uhr oder digitaler Eingang IN1

    2. Ausgang OUT1 anschalten (Pumpe aus)

    3. Verzögerung von 2 Sekunden (Wartezeit bis Wasserdruck abgebaut ist)

    4. Ausgang OUT2 anschalten (Magnetventil ein -> Luftdruck für Rückspülventil liegt an)

    5. Verzögerung von 5 Sekunden (Dauer für Umschaltung des Rückspülventils)

    6. Ausgang OUT1 ausschalten (Pumpe ein)

    7. Verzögerung von 25 Sekunden (Dauer für die eigentliche Rückspülung)

    8. Ausgang OUT1 anschalten (Pumpe aus)

    9. Verzögerung von 2 Sekunden (Wartezeit bis Wasserdruck abgebaut ist)

    10. Ausgang OUT2 ausschalten (Magnetventil aus -> Luftdrucksperre)

    11. Verzögerung von 5 Sekunden (Wartezeit bis Feder das Rückspülventil zurückstellt)

    12. Ausgang OUT 2 ausschalten (Pumpe an)

    Wahrscheinlich wäre eine Script geeigneter, doch leider komme ich als Anfänger und fehlenden Javascript-Kenntnissen nach mehrstündiger Recherche nicht weiter. ;(

    Daher bin ich über jede Hilfe von Euch dankbar. :)

    Viele Grüße

    Oliver

  • Da nur 5 Aktionen innerhalb einer konfigurierbaren "Aktion" im Shelly Menü zugelassen sind, wird es wahrscheinlich schwierig.

    Dann könntest du eine weitere anlegen (weitere 5)

    und noch eine weitere (weitere 5)

    Und, wie hier alles wissen 😎, habe ich fast keine Ahnung mit Script (2-3 abgeänderte)

    Vielleicht wäre ein übergeordnetes System für dich besser geeignet, um unabhängig zu werden?

    Wird ja auch nicht dein letztes Projekt sein 😎

    Shelly’s: 2x 1, 10x 1PM , 4x 2.5, 3x i3, 10x Plus 1PM, 22x Plug S, 11x UNI, 2x 1L mit PIR, 8x AddOn mit Temp/DHT22, 3x RGBW2, 2x Plus i4, 5x Plus 1, 4x Plus 2PM, 4x EM, 2x 3EM, 1x TRV, 3x Plus AddOn, 1x Pro 3EM, 2x BLU, 5xPlusPMmini, 1xPlus1PMmini, 4xPlusUNI

    Fritz!Box5690pro, 3x FRITZ!Repeater6000, 6x Fritz!Dect200

    HomeAssistant auf RaspberryPi5(8GB) mit NVMe, HomeAssistant auf Synology DS1019+, Backup HomeAssistant auf RaspberryPi4B(4GB)

    DHT21 (AM2301) oder (AM2320) für unter 0 Grad

  • Und, wie hier alles wissen 😎, habe ich fast keine Ahnung mit Script (2-3 abgeänderte)

    Vielleicht wäre ein übergeordnetes System für dich besser geeignet, um unabhängig zu werden?

    Wird ja auch nicht dein letztes Projekt sein 😎

    ja, ein übergeordnetes System wie Home Assistant würde auch gehen, jedoch bin ich dann abhängig von der WLAN Verbindung. Ziel sollte es sein, dass der gesamte Vorgang innerhalb des einen Shelly Plus UNI gesteuert und kontrolliert wird. 8)

    Trotzdem vielen Dank für Deinen Beitrag :) :thumbup:

  • Hallo zusammen,

    ich habe es jetzt doch irgendwie geschafft, das Ganze als in Form eines Scripts umzusetzen (siehe Code unten). Leider suche ich verzweifelt nach der Funktion/ Aufruf für das Einschalten eines Ausgangs (z.B. OUT1) auf einem remote Shelly Plus UNI (IP Adresse z.B. 192.168.178.156).

    Es wäre klasse, wenn mir hier jemand weiterhelfen könnte. Mit "Shelly.call (Switch.set"....) kann man nur lokale Ausgänge schalten.

    Vielen Dank im voraus.

    Viele Grüße Oli :)

  • Hallo zusammen,

    der folgende Aufruf funktioniert am Anfang des Javascripts:

    Shelly.call("http.get",{url: 'http://192.168.177.175/relay/0?turn=on'});

    Leider funktioniert folgendes für mit einer Zeitverzögerung von 4 Sekunden nicht:

    function timerCode12() {

    Shelly.call("http.get",{url: 'http://192.168.177.175/relay/0?turn=on'});

    };

    Timer.set(

    /* 3 Sekunden warten bis Rückspülventil auf Rückspülung geschaltet ist, zzgl. timerCode1*/ 4000,

    /* repeat? */ false,

    /* callback: Aufruf, Pumpe auf maximale Drehzahl zu schalten */ timerCode12

    );// Pumpe ist jetzt auf voller Drehzahl

    Als Fehler bekomme ich:

    pasted-from-clipboard.png

    Anbei nochmals die beiden Aufruf unten als Code. Was mache ich hier falsch? Bitte dringende um eine kleine Hilfe ;(

    Vielen Dank

    Oli :)

  • GigabitPower 24. Januar 2024 um 19:45

    Hat den Titel des Themas von „Shelly Plus UNI: Automatische Rückspülung Pool mit lokalen Aktionen“ zu „Shelly Plus UNI: Automatische Rückspülung Pool mit Javascript“ geändert.
  • Dieses Thema enthält einen weiteren Beitrag, der nur für registrierte Benutzer sichtbar ist, bitte registrieren Sie sich oder melden Sie sich an um diesen lesen zu können.