Skip to content

Changelog

M3taKn1ght edited this page Sep 12, 2026 · 3 revisions

Changelog / Versionshistorie

Diese Seite dokumentiert alle großen Änderungen am PagerAlarm Projekt — Firmware, Hardware und Dokumentation.


Deutsch

v0.0.3 – Config-Fix & LED-Timing (v0.0.2 Hotfix)

Datum: 12. September 2026
Tag: v0.0.3

Korrigiert:

  • MQTT_RETAIN in config_dock.py ergänzt — main.py verwies seit v0.0.2 auf cfg.MQTT_RETAIN, der Parameter war aber nie in der Konfigurationsdatei vorhanden. Das führte zu einem AttributeError beim Start, sobald der D1 Mini versuchte, die erste Alarm-Nachricht zu publizieren.
  • LED_BLINK_MS korrigiert — wurde in v0.0.2 versehentlich auf 80 gesetzt, ist jetzt wieder auf 300 ms zurückgestellt (passend zur Dokumentation und zum tatsächlichen Cooldown-Blink-Verhalten).

Geändert:

  • config_dock.py enthält jetzt englische Inline-Kommentare zu jedem Parameter.
  • MQTT_RETAIN = True als Standardwert (letzte Alarm-Nachricht bleibt auf dem Broker erhalten).

Upgrade von v0.0.2:

  • config_dock.py muss aktualisiert werden!
  • Füge den fehlenden Parameter hinzu:
    # Neu in v0.0.3
    MQTT_RETAIN = True
  • Alternativ: komplette config_dock.py aus v0.0.3 übernehmen — alle anderen Einstellungen bleiben identisch.

v0.0.2 – Debounce-Rewrite (Fehlalarm-Fix)

Datum: 02. September 2026
Tag: v0.0.2

Geändert:

  • Entprellmechanismus komplett neu geschrieben
    • Der IRQ-Handler speichert bei jedem Zustandswechsel einen Zeitstempel (last_edge_ms) und den neuen (noch unbestätigten) Pegel in pin_state.
    • Die Hauptloop wartet DEBOUNCE_MS, bevor sie den neuen Pegel akzeptiert. Wenn der Pin innerhalb dieser Zeit wieder HIGH geht, wird der Alarm abgebrochen.
    • Das filtert sowohl mechanisches Prellen als auch sporadische Störimpulse (Glitch) mit einem einzigen Mechanismus.
  • SIGNAL_STABLE_MS entfernt — nicht mehr nötig, da DEBOUNCE_MS beide Aufgaben übernimmt.

Upgrade von v0.0.1:

  • Firmware-Dateien (main.py, netconn.py) können komplett gegen die v0.0.2-Version getauscht werden — keine Breaking Changes.
  • Die bestehende config_dock.py muss nicht komplett ersetzt werden. Es genügt, einen einzigen Wert zu ändern:
    # alt
    DEBOUNCE_MS = 0
    # neu
    DEBOUNCE_MS = 300
  • Alle anderen Einstellungen (WiFi, MQTT, Pins, Cooldown etc.) bleiben unverändert.

v0.0.1 – Erstveröffentlichung

Datum: 02. August 2026
Tag: v0.0.1

Erste Version mit:

  • Pin-Interrupt (FALLING + RISING) → MQTT Alert
  • 40 s Cooldown (kein zweiter "on" innerhalb des Fensters)
  • LED-Blink während Cooldown (non-blocking)
  • Watchdog (≈ 1,7 s)
  • IRQ setzt nur Flag — blockierendes MQTT läuft in der Hauptloop
  • DEBOUNCE_MS = 0 (deaktiviert)

English

v0.0.3 – Config Fix & LED Timing (v0.0.2 Hotfix)

Date: 12 September 2026
Tag: v0.0.3

Fixed:

  • Missing MQTT_RETAIN parameter in config_dock.py — main.py referenced cfg.MQTT_RETAIN since v0.0.2, but the parameter was never present in the config file. This caused an AttributeError on startup when the firmware tried to publish the first alert message.
  • LED_BLINK_MS corrected — accidentally set to 80 in v0.0.2, now restored to 300 ms (matching documentation and actual cooldown blink behaviour).

Changed:

  • config_dock.py now ships with inline English comments explaining every parameter.
  • MQTT_RETAIN = True as default (last alert message is retained on the broker).

Upgrading from v0.0.2:

  • config_dock.py must be updated!
  • Add the missing parameter:
    # New in v0.0.3
    MQTT_RETAIN = True
  • Alternatively, replace your entire config_dock.py with the v0.0.3 version — all other settings remain identical.

v0.0.2 – Debounce Rewrite (False-Alarm Fix)

Date: 2 September 2026
Tag: v0.0.2

Changed:

  • Debouncing completely rewritten
    • The IRQ handler now records a timestamp (last_edge_ms) on every state change and stores the new (still unconfirmed) level in pin_state.
    • The main loop waits DEBOUNCE_MS before accepting the new level. If the pin returns to HIGH within that window, the alert is cancelled.
    • This filters both mechanical contact bounce and sporadic glitch pulses with a single mechanism.
  • Removed SIGNAL_STABLE_MS — no longer needed since DEBOUNCE_MS covers both tasks.

Upgrading from v0.0.1:

  • Firmware files (main.py, netconn.py) can be fully swapped for the v0.0.2 versions — no breaking changes.
  • Your existing config_dock.py does not need a full replacement. Just change one value:
    # old
    DEBOUNCE_MS = 0
    # new
    DEBOUNCE_MS = 300
  • All other settings (WiFi, MQTT, pins, cooldown, etc.) remain unchanged.

v0.0.1 – Initial Release

Date: 2 August 2026
Tag: v0.0.1

First version featuring:

  • Pin interrupt (FALLING + RISING) → MQTT alert
  • 40 s cooldown (no second "on" inside the window)
  • LED blink during cooldown (non-blocking)
  • Watchdog (≈ 1.7 s)
  • IRQ only sets a flag — blocking MQTT runs in main loop
  • DEBOUNCE_MS = 0 (disabled)

Clone this wiki locally