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
|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
No Comments