Beiträge von amibar

    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.

    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

    Die Software 1.8.3 funktioniert.

    In Actions habe ich nun :

    http://localhost/relay/0?turn=on&timer=$Einschaltinterval_in_Sekunden

    http://localhost/relay/0?turn=off&timer=$Auszeitinterval_in_Sekunden

    Wobei auto on oder auto of als Funktion abgerufen werden können. Lediglich nicht hintereinander. Sieht so aus, als würde der in der Auslaufsekunde der Start in die Gegenrichtung verhindert.

    Das Teil blinkt jetzt so, wie ich es will. Danke

    Das mit dem Netzwerk muß ich jetzt noch testen. Ob wirklich immer noch ein Gerät als Router oder AP vorhanden sein muß.


    Jetzt habe ich die Version 1.8.5 getestet und in ihr funktioniert auch der Start, so daß nur das Netzwerk vorhanden sein muß aber es gleich von Anfang an los läuft.

    Eine Cloud wird nicht möglich sein, weil die Einsatzorte die ich vorsehe ganz sicher kein Netzwerk haben werden. einen zweiten Shelly nur damit der erste Funktioniert ist doch Irrsinn. Kommt man irgend wie per Code an das Ding ran, so daß man selbst binär oder sonst irgend wie das Ding programmieren kann, es aber nicht zu umständlich ist?

    Die Software blockt also die Nutzung einer Schleife damit man dies nicht so nutzen kann. Kann man den Mechanismus nicht irgend wie blockieren. Warum gibt es überhaupt diese Oberfläche, wenn nicht eine der Funktionen wirklich so funktioniert und es sich alles selbst blockt. Würde ich mit einer Umleitung des Signals zurück zum Shelly das erreichen und damit also den zweiten dafür benötigen oder wie ist das mit dem zweiten zu verstehen. Das ganze wird dadurch allerdings Fehleranfälliger.

    Wie kann ich dann ohne großen Aufwand einen solchen Shelly so einstellen, daß ich nur angebe wie lange er an bleiben soll und wie lange er ausgehen soll, so daß es eine Intervallsteuerung wird, die permanent ein und aus Schaltet, bei der jedoch sehr leicht die beiden Zeiten für An und Aus gestellt werden können.

    Also ich kann entweder Auto off oder Auto on verwenden, so bald man beides aktiviert funktioniert keine Funktion. Ziemlich unbefriedigend, da somit die Beiden Funktionen nicht für meine Funktion zu gebrauchen sind und es so einfach gewesen wäre, wenn man damit die Zeiten von An und Aus in Folge genau hätte abstimmen können.

    Was kann ich tun, damit das ganze dennoch klappt.

    Läßt sich die Schleifenprüfung deaktivieren?

    Bzw. warum funktioniert die eigene IP nicht. Kann ich das umgehen, indem ich über einen Tunnel zu dem Port 80 das Signal weiterleite?

    Was ich erreichen will ist, ein dauerndes periodisches umschalten von ein auf aus. Nur wenn weder das ausschalten noch das einschalten funktioniert, ist es eben so, daß ich nicht verstehe was schief geht.

    Zu der Sache mit localhost - ich hatte es mit 127.0.0.1 versucht und das war erfolglos. Unterscheidet sich localhost in dem Fall von 127.0.0.1 oder ist das gleich.

    Kann erst heute Nacht prüfen ob es geht, weil ich aktuell unterwegs bin.

    Der Bereich actions auf einem Shelly plug interessiert mich, da man über ihn ohne langes Programmieren wohl eine Automatische Schaltung veranlassen kann.

    Deshalb habe ich über das vom Shelly Plug S angebotene Menu einfach mal bei actions out_on_url das folgende eingegeben:

    http://192.168.33.1/relay/0?turn=on&timer=10

    um zu testen ob man dem Teil damit sagen kann, daß es nach einem Einschalten immer nach 10 Sekunden wieder abschalten soll.

    Leider führt das zu gar keiner Reaktion, weshalb ich nicht weiß was daran falsch ist oder wo der Fehler ist, denn wenn ich aus einem Browser diese URL aufrufe, schaltet das der Shelly Plug S nach 10 Sekunden aus.
     
    Wäre schön, wenn ich verstehen könnte warum dies hier nicht funktioniert.

    :) Fehlt dem Eintrag das Recht der Ausführung oder sonst etwas?