Skip to main content

Ein Gerät schaltet über HTTP ein anderes Gerät - Master-Slave

Vorwort

Tasmota ist in der Lage, andere Geräte über das Netzwerk zu steuern. Man ist dabei auch nicht auf Relais oder Lampen beschränkt, sondern kann alles das steuern, was einen Webserver eingebaut hat.

Das folgende Diagram soll das verdeutlichen

tasmota-schaltdiagram.png

|Taste wird betätigt| tasmota(Tasmota-Gerät) tasmota ====>|Anfrage über HTTP| c>Anderes Gerät mit HTTP-API Tasmota,Shelly, etc.] c --> |steuert|Relais/Lampe -->

Diese Situation ist nicht auf Taster beschränkt. Alles was in Tasmota anschließbar ist, kann auch als Ereignis herangezogen werden. Ein Beispiel wäre, wenn ein Temperaturfühler DS1820 angeschlossen ist, kann man über das Netzwerk einen anderen Verbraucher in einem anderen Raum schalten, sofern eine Temperatur über- oder unterschritten ist. Siehe dazu auch eine globale Übersicht auf der Seite [Hausautomation: Ereignis- und Aktionsübersicht](https://we-do.wiki/pages/viewpage.action?pageId=36110345)

Vorbereitung

Im Folgenden ist immer von Master und Slave die Rede. Dabei ist hier der Master das Gerät, was das Ereignis registriert und das Slave ist das Gerät, was daraus resultierend die Aktion ausführt. Ferner ist hier der Master ein SONOFF Mini und der Slave ein Shelly 1 Relais. Die Parameter müssen dann an die eigenen Gegebenheiten angepasst werden.

Alle Kommandos werden auf der WebConsole eingebeben http://<TASMOTA-IP/cs

Client einrichten

Beim Client gibt es nichts groß einzurichten. Man muss vielmehr herausfinden, wie man die gewünschte Aktion mit einem HTTP-Aufruf steuern kann. Hier mal ein paar Beispiele

Gerät AN AUS TOGGLE (Umschalten)
Shelly1/PM [http://shellyip/relay/0/?turn=on](http://shellyip/relay/0/?turn=on) [http://shellyip/relay/0/?turn=o](http://shellyip/relay/0/?turn=on)ff [http://shellyip/relay/0/?turn=](http://shellyip/relay/0/?turn=on)toggle
Tasmota [http://tasmota/cm?cmnd=power1%20on](http://tasmota/cm?cmnd=power1%20on) oder [http://tasmota/cm?cmnd=power1%2](http://tasmota/cm?cmnd=power1%20on)01 [http://tasmota/cm?cmnd=power1%20o](http://tasmota/cm?cmnd=power1%20on)ff oder [http://tasmota/cm?cmnd=power1%2](http://tasmota/cm?cmnd=power1%20on)00 [http://tasmota/cm?cmnd=power1%20](http://tasmota/cm?cmnd=power1%20on)toggle oder [http://tasmota/cm?cmnd=power1%2](http://tasmota/cm?cmnd=power1%20on)02

Man sollte die Zeile vorher mal im Browser testen, ob den die gewünschte Aktion auch wirklich durchgeführt wird. Andernfalls sucht man auf dem Master einen Fehler, der dort gar nicht ist.

Master konfigurieren

Kommando Erläuterung
Bei Taster: switchmode 5 Aktiviert den Tastermodus mit HOLD Funktion. Hold kann dann als Ereignis herangezogen werden. Das eingebaute Relais ist weiterhin mit kurzem Tasten nutzbar.
Bei Schalter: switchmode 8 Schalter an = Relais an Schalter aus = Relais aus Schalter 2x hintereinander schalten = HOLD Ereigni
switchmode 15 Das interne Relais ist inaktiv und es werden nur die Schaltereignisse erfasst. Der Schalter sollte dann auch *KEIN* Taster sein.
SetOption32 8 Zentelsekunden die man den Taster gedrückt halten muss, damit ein HOLD Ereignis erkannt wird. `Es sind Werte von 1..100` zulässig *(Vorgabe = `40`)*. Dise Option hat auch Einfluss darauf, wenn man das Gerät auf Standeinstellungen zurücksetzen möchte (10x `HOLD` Zeit)
setoption1 1  
setoption11 1  

Regel einrichten

Regel für ein Shelly Gerät

Bei HOLD ein webquery richtung Shelly Gerät absetzen

rule1 ON switch1#state=3 DO webquery http:``//192.168.x.x/relay/0/?turn=toggle GET ENDON

Regel für ein Tasmota Gerät

Bei HOLD ein webquery richtung Tasmota Gerät absetzen

rule1 ON switch1#state=3 DO webquery http:``//192.168.x.x/cm?cmnd=power1%20toggle GET ENDON

oder kürzer mittels websend

Bei HOLD mit websend ein Tasmota Gerät steuern

rule1 ON switch1#state=3 DO websend [192.168.x.x] power toggle ENDON

DNS-Namen statt IP-Adressen

In den Regeln können statt der sperrigen IP-Adressen auch die DNS-Namen der Shelly bzw Tasmotageräte genutzt werden