AM312 Bewegungsmelder als Tasmota Rule Trigger am EI-OT 8 Kanal Relais PRO ![]() |
Grundlagen
Typischerweise und basierend auf Tasmota Rules bedarf es zunächst einem entsprechenden Trigger. Einem typischen Auslöser der die Grundlage zum Ausführen der Tasmota Rule bildet. Im Detail verwenden wir hier den Status eines GPIO's als Button. Dies kann ein einfacher Signalgeber beispielsweise ein Taster, Sensor oder wie hier im Beispiel ein AM312 Bewegungsmelder sein. Unterm Strich bedarf es lediglich eines Auslösers zur Statusänderung eines GPIO's der die Tasmota Rule entsprechend initiiert. Im nachfolgenden Beispiel verwenden wir den AM312 konfiguriert als Button 2 über den GPIO1 (TX) an einem 8 Kanal Relais PRO. Diesbezüglich wurde bei dem 8 Kanal Relais PRO bereits dieserielle Log Funktion deaktiviert.
|
EI-OT 8 Kanal Relais PRO Button Trigger Konfiguration für ein zeitgesteuertes Relais ![]() |
Konfiguration
Wie bereits erwähnt kann es sich bei dem Tasmota Rule Trigger auch um einen einfachen Signalgeber wie Taster oder auch um einen Sensor, z.B. Temperatursensor, Lichtsensor usw. mit einem digitalen Signalausgang von 3,3V handeln. Nachdem der GPIO entsprechend konfiguriert wurde bedarf es dass typische Tasmota Verhalten, wenn Button 2 ON dann schalte Relais 2 (Power 2 ON) zu deaktivieren. Hierzu in der Tasmota Konsole SetOption68 1
eingeben und mit der Taste ENTER bestätigen, es erscheint RSL: RESULT = {"SetOption68":"ON"} Bevor wir nun zur eigentlichen Tasmota Rule kommen zunächst die grundlegenden Parameter die innerhalb der Tasmota Rule benötigt werden
An dieser Stelle sei erwähnt, innerhalb Tasmota Rules werden bis zu 8 unabhängige Timer unterstützt, Rules#Timer1 bis Rules#Timer8. Bei den Tasmota Rules Timer handelt es sich um einfache Timer die im Sekundentakt einen vorgegebenen Wert runterzählen (dekrement). Im Eigentlichen handelt es sich bei einem Tasmota Rules Timer um einen weiteren Trigger in From eines Zählers, der bei Erreichung von 0 Sekunden, ein entsprechendes Kommando ausführt. Typischerweise bedarf es stets
DO RuleTimer1 10
ON Rules#Timer=1 DO
Mittels der Tasmota Rule muss nun
Unsere zeitgesteuerte Tasmota Rule nun zusammengefasst als Rule1 Rule1 ON Button2#State DO Power2 ON ENDON ON Power2#State=1 DO RuleTimer1 10 ENDON ON Rules#Timer=1 DO Power2 OFF ENDON
Selbstredend kann die Rule1 mittels dem Backlog Befehl auch zusammengefasst
und die entsprechenden Kommandos mittels Semikolon aufgelistet werden Rule1 ON Button2#State==3 DO Backlog Power2 ON; RuleTimer1 10 ENDON ON Rules#Timer=1 DO Power2 off ENDON Abschließend muss lediglich die Tasmota Rule1 durch Eingabe von Rule1 1 und drücken der Taste Enter aktiviert werden. Sobald nun der Bewegungsmelder einen Temperaturanstieg feststellt / eine Person erkennt wird das Relais 2 geschaltet BUTTON2#STATE performs "Power2 ON" RESULT = {"POWER2":"ON"} POWER2 = ON sobald das Relais 2 geschaltet wird, wird der Tasmota RuleTimer1 initiiert und auf 10 Sekunden gesetzt POWER2#STATE=1 performs "RuleTimer1 10" RESULT = {"T1"0} sobald der RuleTimer1 Wert von 1 erreicht wird, wird das Relais 2 ausgeschaltet RULES#TIMER=1 performs "Power2 OFF" RESULT = {"POWER2":"OFF"} POWER2 = OFF |
EI-OT 8 Kanal Relais PRO Tasmota Rule für zeitabhängige Steuerung ![]() |
kombinierte Tasmota Rules Timer
Oftmals werden Tasmota Rules Timer falsch verstanden. Wie bereits oben erwähnt handelt es sich bei Tasmota Rules Timer um einfach Zähler / Counter, im wahrsten Sinne des Wortes Count Down. Andererseits läßt sich anhand von Tasmota Rules Timer das erfassen von Triggern, bzw. die Funktion von Event Listenern, Ereignissen vereinfacht erläutern. Jedes Ereignis / Trigger muss entsprechend initiiert werden, sodass die Firmware beim Auftreten des Ereignisses entsprechend interagiert. Als einfaches Beispiel man möchte nicht nur 1 Relais, sondern mehrere Relais zeitabhängig steuern, erst geht Licht 1, dann Licht 2, dann Licht 3 an.... Verwendet man nun einen Tasmota Rules Timer innerhalb einer Tasmota Rule führt das zu ungewünschten Ausführungen, denn wird beispielsweise mittels folgender Rule Rule1 ON Button2#State DO Backlog Power2 ON; RuleTimer1 5 ENDON ON Rules#Timer=1 DO Backlog Power3 ON; RuleTimer1 5 ENDON ON Rules#Timer=1 DO Backlog Power2 OFF; Power4 ON; RuleTimer1 5 ENDON ON Rules#Timer=1 DO Backlog Power3 OFF; Power4 OFF ENDON versucht mehrere Relais mittels RuleTimer1 im Abstand von 5 Sekunden zu steuern, wird direkt alle 3 ON Rules#Timer=1 Trigger ausgeführt. Im Eigentlichen nicht verwunderlich, denn die Rule1 führt exakt die hinterlegten Kommandos aus und zwar unaufhörlich im Abstand von 5 Sekunden. Das Problem ist dabei der Trigger, der RuleTimer1 und die 3 hinterlegten ON, sobald der RuleTimer1 erfüllt wurde. Verwendet man nun anstelle von nur einem Tasmota Rule Timer, die dafür notwendigen 3 Tasmota Rule Timer Rule1 ON Button2#State DO Backlog Power2 ON; RuleTimer1 5 ENDON ON Rules#Timer=1 DO Backlog Power3 ON; RuleTimer2 5 ENDON ON Rules#Timer=2 DO Backlog Power2 OFF; Power4 ON; RuleTimer3 5 ENDON ON Rules#Timer=3 DO Backlog Power3 OFF; Power4 OFF ENDON erfolgt die Steuerung der Relais wie gewünscht, wenn
Basierend auf dieser Grundlage und der richtigen Verwendung läßt sich jedwedes, zeitlich abhängiges Verhalten mittels einer Tasmota Rule realisieren. |
EI-OT 8 Kanal Relais PRO Tasmota Rule für eine lichtabhängige Zeitsteuerung ![]() |
Tasmota Rule Lichtsteuerung bei Nacht
Typische Anforderungen an eine Smart Home Lichtsteuerung ist das Steuern von Licht in Abhängigkeit des Tageslicht. Neben der Verwendung eines Lichtsensors kann das Schalten von Licht auch ohne Lichtsensor mittels einer Tasmota Rule realisiert werden. Innerhalb von Tasmota Rules werden hierzu 3 Parameter bereitgestellt
Dementsprechend kann mittels einer einfachen Tasmota Rule, die kumulierte Zeit in Minuten mit Sonnenaufgang oder Sonnenuntergang abgeglichen werden. Das nachfolgende Tasmota Rules Beispiel basiert auf (wie oben beschrieben) einem AM312 Bewegungsmelder an einem 8 Kanal PRO Relais, und kann selbstredend auch auf andere Module adaptiert werden. Als Tasmota Rule Trigger wird dementsprechend der AM312 Bewegungsmelder als Button2 verwendet, im Detail sobald der AM312 eine Person erkennt wird Button2 (GPIO1) auf HIGH gesetzt. Da üblicherweise Licht nur bei Dunkelheit benötigt wird, der AM312 Bewegungsmelder aber immer bei Personenerkennung aktiviert wird, soll nun nur wenn es Dunkel ist das Relais2 über 10 Sekunden geschaltet geschaltet werden. Der Ablauf der Tasmota Rule Schritt für Schritt
Die Tasmota Rule zusammengefasst als Rule1 Rule1 ON Button2#State DO IF (%time%>%sunset%) Power2 ON ENDIF ENDON ON Power2#State=1 DO RuleTimer1 10 ENDON ON Rules#Timer=1 DO Power2 OFF ENDON Das Relais 2 wird nun ausschließlich, nach Sonnenuntergang geschaltet. |