Script: Shelly Plug Plus S über stündliche Strompreise steuern

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.

  • Ich habe ein Script erstellt, das einen Shelly Plus Plug S über die stündlichen Strompreise der EPEX (abgerufen über das Awattar API) steuern kann. Funktionsprinzip und Konfiguration sind im Script ausführlich erklärt - hier ein Schnelldurchlauf:

    • Man definiert einen Zeitplan (z. B. täglich um 15:00 Uhr), ein Zeitfenster (z. B. 7:00 bis 19:00 Uhr) und eine Dauer (z. B. vier Stunden).
    • Mit den obigen Einstellungen bezieht das Script jeden Tag um 15:00 die Spotpreise für das gewählte Zeitfenster (also 7:00 bis 19:00 des nächsten Tages) von Awattar. Dann identifiziert es die Vier-Stunden-Periode mit dem niedrigsten Durchschnittspreis innerhalb des Fensters und setzt zwei Timer, die die Stromzufuhr am Beginn dieser Periode ein- und am Ende wieder ausschalten.

    Es kann wahlweise das österreichische oder das deutsche Awattar-API verwendet werden.

    Optional kann das Script via Telegram über folgende Ereignisse informieren:

    • wenn neue Timer gesetzt wurden (inklusive Durchschnittspreis für die gewählte Periode)
    • wenn die Stromzufuhr durch das Script eingeschaltet wurde
    • wenn die Stromzufuhr durch das Script ausgeschaltet wurde

    Das Script ist hier zu finden (editiert am 06.10.24: Link aktualisiert):

    https://github.com/towiat/spotelly

    Viel Spaß!

    Einmal editiert, zuletzt von towiat (6. Oktober 2024 um 13:59)

  • Tolle Sache!


    • könnte man den errechneten Zeitraum links oben in der Weboberfläche auswerfen wie in diesem Projekt

    shelly-pro3EM-energycounter/energy_counter.js at main · sicanins/shelly-pro3EM-energycounter · GitHub


    • um einen 2.Kanal nutzen zu können muss man vermutlich ein 2.Script mit einer anderen ID und Namen für den 2.Timer einrichten
    • Abfrage nach 15 00 für den Folgetag möglich

    Einbindung der Shelly´s in die Loxone

    Einmal editiert, zuletzt von AlexAn (11. April 2024 um 17:41)

  • AlexAn

    Freut mich, dass es nützlich ist!

    • Das verlinkte Script ändert offensichtlich den Namen des Gerätes, um seine Daten auf dem WebUI anzuzeigen. Das könnte ich natürlich auch machen - die Frage ist allerdings, was genau du da gerne sehen würdest. Es können ja - abhängig vom Resultat der Preisanalyse - Timer für bis zu zwei Zeitblöcke aktiv sein (z. B. heute von 17:00 bis 20:00 und morgen von 13:00 bis 16:00). Und wenn du (wie angedeutet) eine zweite Script-Instanz gleichzeitig laufen lassen willst, hättest du bis zu vier Zeitblöcke. Was sollte in diesen Fällen auf der Weboberfläche angezeigt werden?
    • Ich habe es zwar nicht getestet, aber ich sehe keinen Grund, warum du nicht zwei Instanzen des Scripts gleichzeitig laufen lassen könntest. Sinnigerweise sollten dann natürlich beide Instanzen unterschiedliche (und nicht überlappende) Zeitfenster bearbeiten, weil sich sonst die gesetzten Timer in die Quere kommen könnten.
    • Den dritten Punkt verstehe ich nicht ganz, aber generell stellt das Awattar-API die Preise für den Folgetag ab ca. 14:00 zur Verfügung. Der Default von 15:00 ist also mit einem Sicherheitspolster gerechnet. Du kannst natürlich die Daten auch später abfragen, wenn sich das mit deinem gewünschten Zeitablauf ausgeht.
  • Dieses Thema enthält 71 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.