Files
TasmotaPTT/SPEC.md
2026-05-15 00:54:34 +02:00

1.7 KiB

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 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. Der Project soll mittels PlatformIO und Arduino Framework umgesetzt werden. Das SSD1309 OLED wird mit der Arduino-Library U8g2 angesteuert.

Umsetzung

Die Tasmota Steckdose wird per HTTP angesprochen. Beim Druck auf den Taster sendet das Programm:

  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:

  • WIFI_SSID
  • WIFI_PASSWORD
  • TASMOTA_HOST
  • INITIAL_TIMER_MS
  • MIN_TIMER_MS
  • MAX_TIMER_MS

Als Vorlage liegt include/config.example.h bei.

Hardware

Board D1 Mini mit ESP8266. OLED über I2C an den GPIOs 4 und 5. Rotary Encoder mit A und B an GPIO 14 und 13 und der Taster an 12. OLED hat einen SSD1309 Controller mit 128x64 Pixel.