Respect values over 11.1s.

This commit is contained in:
Holger Weber
2026-05-15 00:54:34 +02:00
parent d2ab1369f6
commit 8927a65573
7 changed files with 114 additions and 12 deletions

View File

@@ -1,8 +1,8 @@
# Tasmota remote pulse timer trigger
Das Programm für einen ESP8266 soll den PulseTimer einer Tasmota Steckdose triggern.
Die Hardware hat einen Rotary Encoder sowie ein OLED Display.
Mit dem Rotary Encoder (RT) stellt man eine Zeit im Bereich von 2s bis 10s mit einer Auflösung von 100ms.
Über den RT soll der Wert pro Tick um 100ms angepasst werden können.
Die Hardware hat einen Rotary Encoder sowie ein OLED Display.
Mit dem Rotary Encoder (RT) stellt man eine Zeit im Bereich von `MIN_TIMER_MS` bis `MAX_TIMER_MS`.
Über den RT soll der Wert pro Tick bis 11,1s um 100ms angepasst werden. Ab 11,1s erlaubt Tasmota nur noch Sekundenwerte; der nächste Wert nach 11,1s ist deshalb 12s, danach wird pro Tick um 1s angepasst.
Mit Druck auf den Taster des RT soll zunächst der PulseTimer eingestellt und dann getriggert werden.
Die Einstellungen für die SSID und das Passwort sollen aus einer separaten config.h Datei ausgelesen werden.
Dort soll auch die IP Adresse der Tasmota Steckdose eingestellt werden. Zudem dort noch den Initialwert für den Timer hinterlegen.
@@ -10,7 +10,7 @@ Der Project soll mittels PlatformIO und Arduino Framework umgesetzt werden. Das
## Umsetzung
Die Tasmota Steckdose wird per HTTP angesprochen. Beim Druck auf den Taster sendet das Programm:
1. `PulseTime1 <wert>` mit `<wert>` in 100ms-Schritten. Der erlaubte Bereich 2s bis 10s entspricht damit `20` bis `100`.
1. `PulseTime1 <wert>`. Werte `1` bis `111` entsprechen 0,1s-Schritten bis 11,1s. Werte ab `112` entsprechen Sekundenwerten mit Offset 100, also z.B. `112` fuer 12s und `113` fuer 13s.
2. `Power1 ON`, um den zuvor gesetzten PulseTimer auszulösen.
Die Datei `include/config.h` enthält: