2ten "Shelly Plus Plug S" schalten, wenn apower > 0.1 (verzögert ca. 3-4 Sekunden)

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 möchte einen 2ten Shelly schalten, wenn am 1sten apower > 0 ist.

    Das funktioniert, jedoch dauert es, bis apower > 0 erkannt wird.

    Ich hab hierfür 2x Testprogramme erstellt:
    - per Shelly.call
    - per Shelly.getComponentStatus

    Wobei bei beiden die Reaktionszeit zwischen 3-4 Sekunden ist.

    Kann das beschleunigt werden ?


    Danke.
    Patrick

    Code
    let delayTms = 1000
    
    function fkt_get_power() {
        let shellyPower = Shelly.getComponentStatus('switch', 0).apower;
        if (shellyPower > 0) {
            print(shellyPower);
        }
    }
    
    Timer.set(delayTms, true, fkt_get_power);
  • Die Reaktionszeit ist eigentlich im Millisekundenbereich (kleiner 250 Millisekunden), ich hoffe dir ist klar, dass du deine Leistung in einem Timer prüfst, du hast also deine Verzögerung selbst in den Code eingebaut.

  • Danke De kat.

    Den Timer habe ich bewußt verwendet, da ich dauernd/zyklisch den Wert überwachen möchte.

    Oder geht das mit einem Event etc. ?

    Ich hatte den Timer auch mit 500ms und 250ms getestet, leider ohne Verbesserung.

    Daher meine Vermutung, dass der Wert ggf. nicht sofort gemessen wird.

    Patrick

  • ja das geht auch über events

    Wie genau hast du denn die Zeit gemessen, ich kann das mit dem delay nicht reproduzieren:

    Hier ein Script das Power Events nutzt.

    _[Deleted]_
    29. Oktober 2023 um 15:11
  • Hallo @De kat,

    vielen Dank für den Link.


    Da brauch ich mal 'ne ruhige Minute für.

    Vielleicht kannst Du meinen Code mal bei Dir testen ?

    Danke :)
    Patrick

    Ergänzung (11:00): Debug deaktiviert, Script auf dem 2ten Plug verwendet, größere Last.
    Jetzt geht es auf beiden mit geringer Verzögerung, welche dem Timer geschuldet sein dürfte.

    Ich versteh es nicht mehr (kopfschütteln).
    Hauptsache es funzt :)


    3 Mal editiert, zuletzt von PatrickR (26. November 2023 um 18:47) aus folgendem Grund: Ergänzung und Formatierung

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