Kommunikation mit Shellies. Performance?

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.

  • Dies ist zwar nicht wirklich eine Scripting-, sonder mehr eine API Frage. Aber wo wäre sie besser aufgehoben?

    Bekanntlich gibt es mindestens drei Wege mit den (Gen2) Shellies zu kommunizieren (RPC Calls auszuführen)

    • GET Request
    • POST Request
    • Websocket

    Habt ihr Erfahrung mit der Performance der einzelnen Methoden? Ich kann mir vorstellen, dass ein offener Websockt schneller ist, als einzeln abgesetzt HTTP Requests. Hab's aber eben noch nicht getestet...

    Danke vorab :-)

  • Nun die Problematik ist eher das Delay der Anwort welche bald mal erheblich >1 Sekunde ist.

    Das Extrakt meiner leidvolle Erfahrungen mit dem Thema:

    • Jeden RPC Call speziell ins Internet mit Try/Catch & Fallback/Default abzufangen
    • Aufrufe möglichst reduzieren. (tlw. machen bei zuvielen Calls die Gegenseite temporär dicht)
    • 2ter Script welcher den "Call script" neustartet falls dieser mal crasht.
  • Danke! Vielleicht sollte ich dazu sagen, dass die Antwort in meinem speziellen Fall vernachlässigt werden kann. Mir geht's gerade vorallem um das Setzen von Switch / RGBW Werten.

    Zitat

    Aufrufe möglichst reduzieren. (tlw. machen bei zuvielen Calls die Gegenseite temporär dicht)

    DAS stimmt! Ich setze die white, brightness, rgb Werte mit Hilfe von (Javascript) Slidern und übertrage sie direkt an den Shelly. Ohne einen Schutz verweigert der Shelly ruckzuck die Arbeit. :-)

    Falls mal jemand das Problem hat: debouncing hilft. Es verringert die Anzahl der Requests an den Shelly.

    Hat jemand noch eine Einschätzung zur Performance der verschiedenen Möglichkeiten?