Wie kann man in einem Kommando einen Befehl übermitteln, der in Abhängigkeit eines anderen Shellykontaktes ausgeführt werden soll.

  • Hallo liebes Forum;


    Ich habe einen shelly PRO1 und einen shelly PRO 4PM mit denen ich das testen will, konnte die jedoch hier nicht auswählen.
    Ich weiß, wie ich von einem Gerät, daß nur unidirektional Befehle absenden kann einen Schellykontakt umschalte: Bis her mit dem Folgenden Kommando, daß an den Port 80 des Gerätes gesendet wird: "GET relay/0?turn=on HTTP/1.1\r\n Host: 192.168.100.67\r\n Upgrade-Insecure-Request: 1\r\n

    Nun möchte ich jedoch den gleichen Befehl nur ausführen lassen, wenn das nachgeschaltete Relay eines Schelly mit der IP 192.168.100.66 nicht an ist, da sonst dem laufenden Gerät der Strom abgeschaltet würde, wenn das Kommando nicht on sondern off ist. und oder ich möchte den Befehl mit timer=X und turn=on zum Ausschalten verwenden, wenn das nachgeschaltete Relays sich im Status ison = true befindet aber ein timer läuft und somit has_timer=true ist. Geschickt wäre, wenn ich eine Boolsche Gleichung schreiben könnte in der ich die Werte von Schelly 2 verwende um die Werte an Schelly 1 zu setzen.

    Mir reicht hierfür eine kurze Zeile aus der das hervor geht, wie man Operatoren und Werte so verknüpfen kann, daß eben das ganze direkt funktioniert.

    Also zum Bsp. turn=off soll nur ausgeführt werden, wenn das andere Gerät (ison[2]) aus ist. Läuft dort noch ein Timer und es ist an, dann sollte turn=on&timer=timer_remaining[2] +1 ausgeführt werden.

    Wie ich jedoch Opperanden verwenden kann, so daß ich die Werte angeben kann oder überhaupt den Aufruf eines Timers hin bekomme weiß ich noch nicht. Wobei es mir nichts macht, wenn der Aufruf zwei mal nötig ist und er einmal nicht funktioniert, weil ich etwas unmögliches fordere und hier timer=0&turn=X nicht ausgeführt wird, weil timer=0 nicht erlaubt ist und im zweiten Aufruf dann die Bedingung abgefragt wird nach der der Schalter gerade aus ist, mit nur turn=off oder einem fixen turn=on&timer=Zeitwert

    Kann mir da jemand sehr kurz aufzeigen wie das gehen kann, so daß ich mir den Rest ableiten und durch versuchen dann so gestalten kann, wie ich es brauche.

    Danke für Eure Hilfe

    Andreas

  • Szenen fallen raus, weil eine Internetverbindung ist nicht garantiert und diese ist auch nur zeitweise gewünscht und möglich.

    Wie müßte man ein Skript gestalten, damit es auf ein solches zusprechen reagiert und dann die Bedingungen Abfängt. Wobei eines zu beachten ist, wenn dieser sozusagen Hauptschalter bedient wird, dann kann es sein, daß verschiedene Geräte ihn betätigen wollen und die Abfrage soll nur verhindern, daß der Strom für die anderen die ihn noch benötigen nicht abgeschaltet wird, jedoch abgeschaltet wird, falls eben keines der Geräte mehr Strom benötigt. Theoretisch könnte man es auch über die Strommenge definieren.