Wenn bestimmte Watt Zahl unterschritten warte 5 Minuten wenn WattZahl immer noch und es nach X Uhr ist

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.

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.

  • Hallo Zusammen,

    ich habe mich bisher sehr wenig mit den Scripten im Shelly selber beschäftigt sondern bin immer den Umweg über ioBroker gegangen. Wäre folgende Regel dort direkt möglich

    Wenn es später als 20 Uhr ist und die Watt Zahl unter 20 Watt liegt dann beginne Counter von 5 Minuten, wenn dann immer noch <20 Watt dann schalte den Shelly aus?

    Danke fürs Feedback :)

  • Ja sowas wäre kein Problem, du musst jedoch ebenfalls den Fall berücksichtigten wo der Shelly keine Zeit kennt, denn das kann bei Internet Problemen vorkommen.

  • Hallo De Kat, ich habe versucht mich da mal einzulesen und aus der Kombination aus eigener Programmiererfahrung und ChatGPT was zu bauen. Vielleicht mag mir jemand mal auf die Sprünge helfen :), wäre sicherlich auch für andere Interessant beim Strom sparen.

    let currentTotalPower = 0;

    let powerOffTimeout = null; // Variable für das Timeout

    function checkAndToggleSwitch() {

    if (currentTotalPower < 50) {

    // Wenn die Gesamtleistung unter 50 Watt liegt

    if (!powerOffTimeout) {

    // Wenn kein Timeout aktiv ist, starte das Timeout

    powerOffTimeout = Timer.set(30000, function () {

    console.log("Schalte den Schalter aus nach 30 Sekunden Inaktivität.");

    activateSwitch(false); // Schalte den Schalter aus

    powerOffTimeout = null; // Setze das Timeout zurück

    });

    }

    } else {

    // Wenn die Gesamtleistung über 50 Watt liegt, setze das Timeout zurück

    if (powerOffTimeout) {

    Timer.clear(powerOffTimeout);

    powerOffTimeout = null;

    }

    }

    }

    function activateSwitch(activate) {

    Shelly.call("Switch.Set", { id: 0, on: activate }, function (

    response,

    error_code,

    error_message

    ) {});

    }

    function statusHandler(status_ntf) {

    if (status_ntf.component.indexOf("switch") !== 0) return;

    if (typeof status_ntf.delta.apower === "undefined") return;

    currentTotalPower = status_ntf.delta.apower;

    checkAndToggleSwitch();

    }

    Shelly.addStatusHandler(statusHandler);

  • Das sieht schon ganz gut aus, die Richtung stimmt schon grob. :thumbup:

    Was du möchtest ist sowas wie ein PowerSaving-Script, in deinen Anforderungen fehlt nur noch das Ende der aktiven Zeitspanne.

    Muss der Shelly eigentlich, am Ende der Zeitspanne automatisch wieder einschalten, sowas ist im unteren Script noch nicht eingebaut, wäre aber leicht zu erweitern.

    Hier mal meine PowerSaving Script Version:

    6 Mal editiert, zuletzt von _[Deleted]_ (22. September 2023 um 19:38)

  • Dieses Thema enthält 3 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.