Poolsteuerung über Script

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.

  • Habe in ChatCPT ein Script erstellen lassen für meine Poolpumpe die nach PV Überschuss ein und ausschaltet.

    Leider läuft das Script nicht, hat ein paar Fehler.

    Könnte mir dabei jemand bitte helfen!

    import requests

    import datetime

    import time

    IP-Adressen der Shelly-Relais

    em3_ip = "192.168.1.83"

    pool_ip = "192.168.1.89"

    minimum_solarstrom = -550

    maximum_solarstrom = 50

    maximum_solarstrom_2 = 500

    zeitraum_start = datetime.time(9, 0)

    zeitraum_ende = datetime.time(12, 0)

    neuer_zeitraum_start = datetime.time(13, 0)

    neuer_zeitraum_ende = datetime.time(15, 0)

    naechster_tag_start = datetime.time(1, 0)

    naechster_tag_ende = datetime.time(2, 0)

    def relais_aktivieren(ip):

    url = f"http://%7bip%7d/relay/0/on"

    requests.get(url)

    def relais_deaktivieren(ip):

    url = f"http://%7bip%7d/relay/0/off"

    requests.get(url)

    def solarstrom_uberprufen(ip):

    url = f"http://%7bip%7d/status"

    response = requests.get(url)

    data = response.json()

    solarstrom = data["emeter"]["power"]

    return solarstrom

    def ist_relais_eingeschaltet(ip):

    url = f"http://%7bip%7d/status"

    response = requests.get(url)

    data = response.json()

    relais_status = data["relays"][0]["ison"]

    return relais_status

    def ist_in_zeitraum(zeitpunkt, startzeit, endzeit):

    if startzeit <= endzeit:

    return startzeit <= zeitpunkt <= endzeit

    else:

    return zeitpunkt >= startzeit or zeitpunkt <= endzeit

    def main():

    while True:

    # Aktuellen Zeitpunkt abrufen

    aktuelle_zeit = datetime.datetime.now().time()

    # Überprüfen, ob das Relais "em3" den Schwellenwert unterschreitet und das Relais "pool" ausgeschaltet ist

    if solarstrom_uberprufen(em3_ip) < minimum_solarstrom and not ist_relais_eingeschaltet(pool_ip):

    relais_aktivieren(pool_ip)

    # Überprüfen, ob das Relais "em3" den Schwellenwert überschreitet und das Relais "pool" eingeschaltet ist

    elif solarstrom_uberprufen(em3_ip) > maximum_solarstrom and ist_relais_eingeschaltet(pool_ip):

    relais_deaktivieren(pool_ip)

    # Überprüfen, ob das Relais "pool" sich während des definierten Zeitraums eingeschaltet hat

    elif ist_in_zeitraum(aktuelle_zeit, ze

  • Schade denn es würde für mich zu lange dauern bis ich mir das beigebracht hätte.

    Und für so kleine Scripts lohnt sich das nicht.

    Ist also der obige Script total unbrauchbar?

  • Ja dein Skript ist in Python geschrieben und somit völlig inkompatibel, aber es haben schon andere nach nem Shelly Skript für ne Poolsteuerung gefragt, benutze doch mal die Forensuche, vielleicht findest du dann etwas das dir weiter hilft.

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