ein Script überwacht, welche Handys im WLAN eingeloggt sind. Falls alle ausser Haus sind, wird via HTTP ein Shelly plus 1 eingeschaltet. Dies funktioniert problemlos.
Das Problem: Das entsprechende HG läuft im Testmodus perfekt durch, wird jedoch durch das Ein-/Ausschalten des Shellys nicht gestartet. Anstatt den Schaltkontakt zu benutzen, habe ich es auch mit dem Schalter als Bedingung versucht, ebenfalls erfolglos.
Wollte ich auch gerade schreiben. Allerdings nutze ich ebenfalls den Zustand eines Plug als Statusvariable für EMA scharf/unscharf. Auf eine Statusänderung regieren diverse HGs bzw. werden aktiviert/deaktiviert.
Getestet habe ich die HG via App, wo man ein HG durch Klicken auf das Dreieck das HG ablaufen lassen kann.
Als Auslöser habe ich wie von Euch empfohlen nun einen Webhook verwendet - danke für die tolle Idee!
Die Sache läuft eigentlich, aber nicht immer zuverlässig. Habe schon etliche Varianten probiert:
wget ‚https…KEY…‘
curl --request GET ‚https…KEY…‘
(Apostroph vor https ist oben!)
IMMER funktioniert es, wenn ich den String mit dem KEY in ein Browser-Fenster eingebe: Zack, und alles wird quasi sofort geschaltet.
Hat jemand eine bessere Idee, wie man dies in einem Shell-Script löst?
Schliesslich erlaube ich mir noch zwei Anfänger-Fragen:
Ist es richtig, dass der String mit dem KEY bis auf die letzten Zeichen (mit dem Webhook-Namen) immer identisch ist?
Gibt es ein Zeitlimit, das man zwischen dem Auslösen von Webhooks einhalten muss oder sollte?
Seit einigen Tagen läuft die An-Abwesenheits-Routine nun einwandfrei mittels Webhook.
Da es mit wget und curl immer mal wieder Probleme gab, der Webhook durch Eingabe der URL in einem Browser stets funktionierte, habe ich probiert, dies mittels dem „Uralt-Browser“ ‚lynx‘ zu lösen. Dies klappt nun seit etlichen Tagen zuverlässig und stets einwandfrei. Die Lösung sieht also so aus:
In der Homee-App als Auslöser ‚Webhook‘ wählen und den erhaltenen Link inkl. KEY merken
Wenn kein Handy mehr zu Hause ist, wird vom Linux-System folgender Befehl abgesetzt:
lynx -dump „https://…KEY…“
Sobald wieder ein Handy zuhause angemeldet ist, wird ein weiterer Webhook ausgelöst, der die Indoor-Kamera-Überwachung auf inaktiv setzt
Danach werden innert Sekunden die gewünschten Kameras auf inaktiv bzw. aktiv gesetzt; toll!
Danke nochmals an @Kobold für das Hinweisen auf einen Webhook!
PS: Mittlerweile habe ich es auch geschafft, dass der Homee eine IP innerhalb des lokalen Netzes erhalten hat. Vielleicht würde jetzt auch das Schalten mittels Auslesen der Schalterposition des Shelly funktionieren.
Ich nutze die Webhooks, um die Aufzeichnung bei Bewegungserkennung der Kamera(s) zu aktivieren/deaktivieren. Andersherum wird von der Kamera an der Haustür bei Bewegungserkennung ein HG getriggert, dass einen LED-Strahler, der nachts auf 10% Helligkeit den Eingang und die Hausnummer beleuchtet, für 2min auf 100% geschaltet wird. Funktioniert einwandfrei.