Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Shelly für Gartenpumpe? Absicherung ( geplatzer Schlauch) .

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    935

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Shelly für Gartenpumpe? Absicherung ( geplatzer Schlauch) .

Geplant Angeheftet Gesperrt Verschoben Hardware
21 Beiträge 4 Kommentatoren 1.2k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • C Offline
    C Offline
    Creator
    schrieb am zuletzt editiert von
    #21

    Ich habe noch mal drüber nachgedacht und mit den vorhandenen Mitteln, bekomme ich für mich keine gute Lösung hin.
    Habe das Script noch mal deutlich überarbeitet, aber es klappt nur bedingt. Was an den Datenpunkten vom Sprinklercontrol liegt und an dem Shelly.
    Der Shelly verhält sich anders als erwartet. Man kann den Wert AutoTimeOff nicht ändern, wenn der Switch auf True steht.
    Sieht dann so aus.

    timer.png

    Mein Script, wenn wer gucken will. DIe Datenpunkte sind leider Strings im Sprinklercontrol, daher musste ich umrechnen. Hätte sek. erwartet.

    const pumpAutoTimerDP = 'shelly.0.SHSW-1#A4CF12F41B2C#1.Relay0.AutoTimerOff';
    const pumpSwitchDP = 'shelly.0.SHSW-1#A4CF12F41B2C#1.Relay0.Switch';
    const countdownDPs = [
        'sprinklecontrol.0.sprinkle.Beet.runningTime',
        'sprinklecontrol.0.sprinkle.Rasen.runningTime',
        'sprinklecontrol.0.sprinkle.Terrasse.runningTime',
        'sprinklecontrol.0.sprinkle.Vorgarten.runningTime',
        'sprinklecontrol.0.sprinkle.Weg.runningTime'
    ];
    
    const delay = 5; // Zusätzliche Verzögerung in Sekunden
    
    let totalCountdownTimer = null; // Timer für die Gesamt-Laufzeit
    let currentTotalCountdown = 0;   // Aktuelle Gesamt-Laufzeit in Sekunden
    
    // Funktion zur Berechnung und Aktualisierung der Gesamtlaufzeit
    function updateTotalCountdown() {
        let newTotalCountdown = 0;
        let anyActive = false;
        
        // Summiere die runningTime-Werte aller Sprinkler und rechne von Minuten:Sekunden in Sekunden um
        for (const dp of countdownDPs) {
            const val = getState(dp).val;
            
            if (val && typeof val === 'string' && val.includes(':')) {
                const parts = val.split(':');
                const minutes = parseInt(parts[0], 10) || 0;
                const seconds = parseInt(parts[1], 10) || 0;
                
                // Umrechnung in Sekunden und zur Gesamtlaufzeit hinzufügen
                const totalSecondsForSprinkler = (minutes * 60) + seconds;
                newTotalCountdown += totalSecondsForSprinkler;
                
                if (totalSecondsForSprinkler > 0) {
                    anyActive = true;
                }
            }
        }
        
        // Nur bei Änderungen den AutoTimer anpassen
        if (newTotalCountdown !== currentTotalCountdown && newTotalCountdown > 0 ) {
            currentTotalCountdown = newTotalCountdown;
            
            // Shelly AutoTimerOff setzen (in Sekunden)
            setState(pumpAutoTimerDP, newTotalCountdown + delay, false);
            
            log(`Gesamtlaufzeit aller Sprinkler: ${newTotalCountdown} Sekunden. AutoTimerOff wurde gesetzt.`);
        }
    
        // Timer-Logik für die Backup-Abschaltung
        if (totalCountdownTimer) {
            clearTimeout(totalCountdownTimer);
            totalCountdownTimer = null;
        }
    }
    
    // Skript-Start-Logik
    log('Skript zur Steuerung der Pumpe gestartet.');
    
    // Überwache alle runningTime-Datenpunkte
    on({id: countdownDPs, change: 'any'}, (obj) => {
        log(`Änderung bei ${obj.id}: ${obj.state.val}`);
        updateTotalCountdown();
    });
    
    // Bei Skriptstart die Werte einmalig prüfen
    updateTotalCountdown();
    

    Aber das ist alles an den Symptomen basteln und keine stabile langfristige Lösung. :(

    Das wird wohl meine Lösung jetzt werden. Bin komplett in der HMIP Welt

    Homematic IP Smart Home Schaltaktor für Hutschienenmontage – 4-fach, HmIP-DRSI4
    https://de.elv.com/p/homematic-ip-smart-home-funk-schaltaktor-fuer-hutschienenmontage-hmip-drsi4-4-fach-P154431/?utm_source=google&utm_medium=cpc&utm_campaign=perfmax_shopping_de&refid=Gads&Gads_PerfMax_Shopping&gad_source=1&gad_campaignid=20522237738&gbraid=0AAAAAD-GiXxGOK8K4JKi5HN_0vliaUag1&gclid=Cj0KCQjw8KrFBhDUARIsAMvIApYha3BSs0uIKRMN0SABJATdqJIPRVnR5oCYo-mIMMYWFJSa25PK-PwaAmzvEALw_wcB
    HmIPW-DRS4 wäre auch gut, dann brauch ich nur ein Kabel legen. Mal sehen.

    Ein Schütz für die Pumpe. Weiß noch nicht welchen, aber wird sich bestimmt was finden. Vielleicht braucht es auch keinen, aber naja das Modul ist zu teuer.

    Meine Ventilsteuerung bleibt.
    https://de.elv.com/p/elv-smart-home-bausatz-garten-ventil-interface-elv-sh-gvi-powered-by-homematic-ip-P157246

    Dann haben ich die Möglichkeit Ventil und Pumpensteuerung direkt zu Verknüpfen.
    Dazu kann man im Ventil den ON_TIME setzen.
    938bec9f-b504-4fa9-8697-7f3502aea0e1-image.png

    Somit ist keine Zentrale weder iobroker noch die CCU zwingend nötig.
    Rest Risiko wird natürlich bleiben.

    1 Antwort Letzte Antwort
    0
    Antworten
    • In einem neuen Thema antworten
    Anmelden zum Antworten
    • Älteste zuerst
    • Neuste zuerst
    • Meiste Stimmen


    Support us

    ioBroker
    Community Adapters
    Donate

    671

    Online

    32.6k

    Benutzer

    82.2k

    Themen

    1.3m

    Beiträge
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
    ioBroker Community 2014-2025
    logo
    • Anmelden

    • Du hast noch kein Konto? Registrieren

    • Anmelden oder registrieren, um zu suchen
    • Erster Beitrag
      Letzter Beitrag
    0
    • Home
    • Aktuell
    • Tags
    • Ungelesen 0
    • Kategorien
    • Unreplied
    • Beliebt
    • GitHub
    • Docu
    • Hilfe