4 Kanal Optokoppler Trigger,  8 Kanal Trigger Modul,  Rules

Zählerstand / Gaszähler mit einer einfachen Tasmota Rule festlegen / triggern

ZM61 ZM62 Magnetschalter am EI-OT 4 Kanal Trigger Modul
Grundlagen

Das Wichtigste vorab, in diesem Beispiel geht es nicht um die GPIO Funktion Counter / Zähler!

Eine typische Anwendung ist das Erfassen und Triggern von Zählerständen mittels einem ESP8266 und die jeweiligen Zählerstände mittels einer Tasmota Rule im Netzwerk bereitzustellen.

In diesem Beispiel geht es um die Erfassung eines Gasverbrauch, in Kombination mit einen BK-G4 Gaszähler und einem Z61 Magnetschalter.  Der Z61 ist ein magnetischer Impulsgeber, der pro 10 Liter Gas (0,01m3) einen Impuls ausgibt. Ziel ist es mittels einer Tasmota Rule

  • den Impuls des Magnetschalter zu triggern
  • mittels einer Tasmota Rule den aktuellen Zählerstand fortlaufend zu kumulieren

Der Anschluss ist denkbar einfach

  1. EI-OT 4 Kanal Trigger Modul 5V-12V Spannungsversorgung  anschliessen
  2. von der Spannungsversorgung + auf IN+ (im Beispiel IN4) legen, sodass der PC817 Optokoppler bereits mit + versorgt ist
  3. das Ausgangssignal des magnetischen Signalgebers ist – (GND / Minus), dementsprechend auf IN- (im Beispiel IN4) anschliessen

Gibt nun der Impulsgeber ein Signal aus, so schliesst der PC817 sodass am Ausgang des Optokopplers 3,3V auf den GPIO (im Beispiel IN4 = GPIO13), ein HIGH geschaltet wird. An dieser Stelle sei erwähnt – da im Internet viele Beispiele ohne Optokoppler beschreiben werden – Zähler insbesondere Gaszähler verfügen über eine notwendige Erdung / Potentialausgleich diesbezüglich sollte stets auf eine galvanische Trennung geachtet werden.

EI-OT 4 Kanal Trigger Modul Signal Konfiguration für eine Tasmota Zähler Rule 
Konfiguration

Wie bereits erwähnt handelt es sich bei diesem Tasmota Rules Beispiel nicht um einen GPIO Counter / Zähler, sondern um das Bereitstellen eines kumulierten Zählers. Diesbezüglich wird der Eingang, in unserem Tasmota Rules Beispiel IN4 als einfacher Button konfiguriert. Bitte beachten Button 1 hat neben den typischen Button Funktionen weitere, “spezielle” Funktionen, diesbezüglich sollte für Tasmota Rules nicht Button 1 verwendet werden.

Nachdem der GPIO entsprechend konfiguriert wurde bedarf es zunächst das typische Tasmota Verhalten, Button 2 ON == 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 bedarf es einem entsprechenden Zähler, jener Zähler der fortlaufend, mit jedem Impuls mittels der Tasmota Rule kumuliert wird. Neben den typischen 16 Variablen Var1 bis Var16 gibt es zusätzlich Mem1 bis Mem16, bei letztgenannten wird der Wert im ESP8266 Flashspeicher abgelegt, sodass der Wert auch nach einem Neustart verfügbar ist.

Da typischerweise der Zähler, in unserem Beispiel Gaszähler, nicht den Zählerstand 0 hat muss zunächst ein entsprechender Offset / Startwert gesetzt werden, in unserem Beispiel verwenden wir einen Zählerstand 1234,56 m3 und setzen unseren Zähler Mem1 mittels Konsole wie folgt auf den Wert

Mem1 1234.56

und bestätigen die Eingabe mit der Taste Enter, sodass die Konsole den Wert wie folgt bestätigt

RSL: RESULT = {"Mem1":"1234.56"}

Kommen wir zur eigentlichen Tasmota Rule für unseren kumulierenden Zähler. Sobald der Optokoppler durch den Impulsgeber geschlossen wird, erhält der GPIO ein HIGH Signal. Dieses High Signal entspricht einem Durchfluss von 10 Liter / 0,01m3 Gas.

Mittels der Tasmota Rule muss nun

  • das HIGH am GPIO erfasst werden, also benötigen wir als Trigger
    ON Button2#State
  • der Zählerstand der Variablen Mem1 entsprechend mittels
    DO Mem1= %Mem1% + 0.01
    abgefragt und kumuliert / um 0,01 erhöht werden

Unsere Tasmota Zähler Rule nun zusammengefasst als Rule1

Rule1 ON Button2#State DO Mem1= %Mem1% + 0.01 ENDON

lediglich über die Konsole eingeben und mittels der Taste Enter bestätigen.

Abschließend muss lediglich die Tasmota Rule1 durch Eingabe von

Rule1 1

und drücken der Taste Enter aktiviert werden.

Sobald nun ein Impuls vom Gaszähler, bzw. Magnetschalter ausgegeben wird kumuliert sich der Zähler Mem1

BUTTON2#STATE performs "mem1= 1234.56 + 0.01"
RSL: RESULT = {"Mem1":"1234.570"}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert